求解方程
时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
用牛顿迭代法求方程2x^3-4x^2+3xsinx-6=0的根,要求误差小于10的-6次方。
输入:
一个浮点数,表示起始点。
输出:
一个浮点数,为方程的根。
输入样例:
1.0
输出样例:
2.064076
提示:
来源:
代码:
- #include <stdio.h>
- #include <math.h>
- float fun1(float a);
- float fun2(float b);
- int main()
- {
- float x0,x1;
- float a,b;
- scanf("%f",&x0);
- while(1)
- {
- a=fun1(x0);
- b=fun2(x0);
- x1=x0-a/b;
- if(fabs(x1-x0)<=0.000001)
- break;
- else
- x0=x1;
- }
- printf("%.6f\n",x0);
- return 0;
- }
- float fun1(float a)
- {
- return 2*a*a*a-4*a*a+3*a*sin(a)-6;
- }
- float fun2(float b)
- {
- return 6*b*b-8*b+3*sin(b)+3*b*cos(b);
- }