C++用二分法求方程x3-x-1=0在[1.0,1.5]区间的近似根.

问题描述:

C++用二分法求方程x3-x-1=0在[1.0,1.5]区间的近似根.
.要求误差小于1e-5.
提示:
(1)先取方程f(x)的两个粗略解x1=1.0和x2=1.5;
(2)f(x1)与f(x2)的符号相反,则方程f(x)=0在[x1,x2]区间至少有一个根;
(3)取x3=( x1+ x2)/2,如果f(x3)=0,则x3就是方程的解;否则,在x1和x2中舍去和f(x3)同号者,根就在x3和另外那个没有舍去的粗略解组成的区间里;
(4)重复(3),如此反复取舍,直到xn与xn-1之差满足要求的误差时,xn便是方程f(x)的近似根.

#include
using namespace std;
double f(double x)
{
\x09return x*x*x - x - 1;
}
int main()
{
\x09double left = 1;
\x09double right = 1.5;
\x09double mid;
\x09while(right-left > 1e-5)
\x09{
\x09\x09mid = (left + right) / 2;
\x09\x09if(f(mid)==0)
\x09\x09\x09break;
\x09\x09if(f(mid)*f(left)>0)
\x09\x09\x09left = mid;
\x09\x09else
\x09\x09\x09right = mid;
\x09}
\x09cout