[阅读: 719] 2007-05-17 03:24:08
typedef double data_type;
data_type sum1(data_type data[], unsigned int N)
{
unsigned int i;
data_type sum = 1;
for (i = 0; i < N; i++)
{
sum = sum *data[i];
}
return sum;
}
data_type sum2(data_type data[], unsigned int N)
{
unsigned int i;
data_type sum = 1;
unsigned int NN = N-2;
for (i = 0; i < NN; i+=2)
{
sum *= data[i];
sum *= data[i+1];
}
for ( ;i < N; i++)
sum *= data[i];
return sum;
}
data_type sum2x2(data_type data[], unsigned int N)
{
unsigned int i;
data_type sum1 = 1, sum2 = 1;
unsigned int NN = N-2;
for (i = 0; i < NN; i+=2)
{
sum1 *= data[i];
sum2 *= data[i+1];
}
for ( ;i < N; i++)
sum1 *= data[i];
return sum1 * sum2;
}
sum1, sum2 和sum2x2哪个快一些,为啥?
sum2 比 sum1 快好理解,但是 sum2x2为啥比sum2 快呢?
如果把 data_type 由double换成 int 结果如何?
试图在互联网上划出国界的举动是愚蠢的!!!
把人当成猪羊圈养,草料永远都不够!把人当人待,人有无限的创造力! “人口减少一半,人们两倍富有”的观念为“一种非常糟糕的自甘堕落—这背后的潜台词是,似乎中国人是封闭围栏中的动物,对周围那些自己赖以生存的资源,除了咀嚼,别无办法。”
我的像册:
http://picasaweb.google.com/bjwf2000/
我的主页:
http://bjwf2000.googlepages.com/