300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > ​二分法解方程

​二分法解方程

时间:2023-01-20 01:04:48

相关推荐

​二分法解方程

Description

方程f(x)=2x3−4x2+3x−6,试用二分法计算f(x)=0在(a,b)之间的根。

Input

两个实数a,b,确保f(a)f(b)<0

注意多组输入!

Output

用二分法计算出f(x)=0在区间内的根,结果保留6位小数

#include<stdio.h>#include<math.h>double f(double n){return (2*n*n*n-4*n*n+3*n-6);}int main(){double n,a,b,c,x;while(scanf("%lf%lf",&a,&b)!=EOF){while(fabs(f(x))>=1e-6){x=(a+b)/2;if(f(a)*f(x)>=0)a=x;elseb=x;x=(a+b)/2.0;}printf("%.6lf\n",x);}}

#include<stdio.h>int main(){float a,b,z,v,x,s,m,h,j,i;while(scanf("%f%f",&a,&b)!=EOF){z=2*a*a*a-4*a*a+3*a-6;v=2*b*b*b-4*b*b+3*b-6;if((z*v<0)&&(a<b)){x=(a+b)/2.0;s=2*x*x*x-4*x*x+3*x-6;while(s>0){while(s>0){b=x;x=(a+b)/2.0;s=2*x*x*x-4*x*x+3*x-6;}h=(a+b)/2.0;j=2*h*h*h-4*h*h+3*h-6;while(j<0){a=h;h=(a+b)/2.0;j=2*h*h*h-4*h*h+3*h-6;}i++;}while(s<0){h=(a+b)/2.0;j=2*h*h*h-4*h*h+3*h-6;while(j<0){a=h;h=(a+b)/2.0;j=2*h*h*h-4*h*h+3*h-6;}x=(a+b)/2.0;s=2*x*x*x-4*x*x+3*x-6;while(s>0){b=x;x=(a+b)/2.0;s=2*x*x*x-4*x*x+3*x-6;}i++;}}m=(a+b)/2.0;printf("%.6f\n",m);}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。