#include <iostream>
#include <memory.h>
#include <math.h>
#include <stdio.h>
using namespace std;
double fun(double x)
{
return pow( x, 3.0 ) - 5 * pow( x, 2.0 ) + 10.0*x - 80.0;
}
int main()
{
double left = 0.0,right = 10.0;
double mid;
while( (right - left) >= 1e-11 )
{
mid = (left + right) / 2.0;
if( fun( mid ) == 0 )
break;
else if( fun( mid ) > 0 )
right = mid;
else if( fun( mid ) < 0 )
left = mid;
}
printf("%.9lf\n",mid);
return 0;
}
二分查找之方程求解
最新推荐文章于 2024-08-17 20:04:47 发布