读书人

c语言数组有关问题

发布时间: 2012-04-16 16:20:04 作者: rapoo

c语言数组问题
有 两个数组a[N],b[N],b[i] = a[0]*a[1]*a[2]...a[N]/a[i],
要求写一个函数实现,不使用除法,除了循环变量外不使用其他变量,时间复杂度为O(n)

[解决办法]
#include "stdio.h"
#include "time.h"
mian()
{
int i,j;
clock_t t1, t2, t3, t4;
for(i = 0; i < N;i++)
{
b[i] = 1;

t3 = clock();
for(j = 0;j < N;j++)
{
if(i != j)
{
b[i] * a[ i]= a[i];
}
}
delay( 1000 );

t4 = clock();
printf( "Top Function: %f \n", (double)( t4 - t3 ) / CLK_TCK );
}
}
[解决办法]
int i;
b[0]=1;
for(i=1;i<n;i++)
{
b[0]*=a[i-1];
b[i]=b[0];
}
b[0]=1;
for(i=n-2;i>0;i--)
{
b[0]*=a[i+1];
b[i]*=a[1];
}
b[0]*=a[1];

昨天论坛里看到的~~

读书人网 >C语言

热点推荐