您的位置:首页 > 其它

多项式计算

2016-10-23 02:47 267 查看
#include <stdio.h>
#include <iostream>
#include <time.h>
using namespace std;

#define N 1e8
int fun1(int x)//i*x^i
{
int sum = 0;
for (int i = 0; i < 10; i ++) {
sum = i * sum + i - 1;

}
return sum;
}//f(x) = a0 + x * (a1 + x * (a2 + ...x * (an-1 + an * x)...))



int fun2(int x)
{
int sum = 0,temp = 1;
for (int i = 1; i < 10; i ++) {
temp = temp * x;
sum = sum + i * temp ;
}
return sum;
}
int main()
{
int x;
cin >> x;
clock_t strat,end;
strat = clock();//记录从程序开始至今的clock tick</span></span>
for (int i = 0; i < N;i ++)
{
fun1(x);

}
end = clock();
double d1 = (end - strat)/N;
printf("best : %6.5f\n",d1);
strat = clock();
for (int i = 0; i < N;i ++)
{
fun2(x);

}
end = clock();
double d2 = (end - strat)/N;
printf("%6.5f\n",d2);
return 0;
}


输出:

5

0.02594

0.02917
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: