码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构学习笔记 求解多项式 2

时间:2015-04-23 00:22:04      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:include   return   double   start   多项式   

#include<stdio.h>
#include<time.h>
#include<math.h>
#define MAXREPEAT 1e7
#define MAXN 101 

typedef double(*func)(int, double );

void timeCost (func myFunc , int n , double x);
double func1(int n , double x);
double func2(int n , double x);

int main(int argc , const char *argv[]){

	int n =MAXN;
	double x = 1.1;
	
	printf("fun1结果为:%lf\n", func1(n,x));
	timeCost(func1 , n, x);
	printf("func2结果为:%lf\n",func2(n,x));
	timeCost(func2, n ,x);
	
	return 0;
}

void timeCost (func myFunc , int n , double x)
{
	clock_t start , stop;
	double duration;
	
	start = clock();
	int i;
	for( i = 0; i < MAXREPEAT ; i++){
		myFunc(n,x);
	}
	stop = clock ();
	duration = ((double)(stop-start))/CLOCKS_PER_SEC;
	printf("用时%f秒\n",duration);
}

double func1(int n, double x)
{
	double p =1;
	
	int i;
	for( i =1 ;i<n;i++){
		p += pow(x,i)/i;
	}
	return p;
}

double func2(int n ,double x)
{
	double p =1.0/(n-1);
	int i =0;
	for(i = n-1 ;i> 0 ; i--)
	{
		if(i ==1){
			p = 1+x*p;
		}else{
			p =1.0/(i-1) + x*p;
		}
		
	}
	return p;
}


数据结构学习笔记 求解多项式 2

标签:include   return   double   start   多项式   

原文地址:http://9815936.blog.51cto.com/9805936/1637259

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!