#include<stdio.h>#include<math.h>//二分法intmain(){float a, b, x, y, z,t,c;
x =-10.0, y =10.0;
a =2* x*x*x -4* x*x +3* x -6;
b =2* y*y*y -4* y*y +3* y -6;
t = a * b;while(fabs(a-b)>1e-5){
z =(x + y)/2;
a =2* x*x*x -4* x*x +3* x -6;
b =2* y*y*y -4* y*y +3* y -6;
c =2* z*z*z -4* z*z +3* z -6;if(a*c<0)
y = z;if(b*c <0)
x = z;}//可以考慮用函數簡化重複部分printf("%f", z);return0;}
#include<stdio.h>#include<math.h>//牛頓迭代法intmain(){float x , y, k,z=0,m;for(x=1.5;fabs(x-z)>=1e-5;){
z = x;
y =2* x*x*x -4* x*x +3* x -6;
k =6* x*x -8* x +3;
m = y / k;
x = x - m;}printf("%f", x);return0;}