二分查找求方程的根

double EPS=1e-6;
double f(double x){
	return x*x*x-5*x*x+10*x-80;
}
int main(){
	double root,x1=0,x2=100,y;
	root=x1+(x2-x1)/2;
	int triedTimes=1;
	y=f(root);
	while(fabs(y)>EPS){
		if(y>0)
			x2=root;
		else
			x1=root;
		root=x1+(x2-x1)/2;
		y=f(root);
		triedTimes++;
	}
	printf("%.8f",root);
	printf("%d",triedTimes);
	return 0;
}
发布了101 篇原创文章 · 获赞 6 · 访问量 4021

猜你喜欢

转载自blog.csdn.net/weixin_45592404/article/details/104286917
今日推荐