題目描述】
有函數:f(x)=x5−15x4+85x3−225x2+274x−121
已知f(1.5)>0,f(2.4)<0 且方程f(x)=0 在區間[1.5,2.4] 有且只有一個根,請用二分法求出該根。
【輸入】
(無)
【輸出】
該方程在區間[1.5,2.4]中的根。要求四捨五入到小數點後6位。
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
const int N=1e4+5;
double f(double x)
{
return x*x*x*x*x-15*x*x*x*x+85*x*x*x-225*x*x+274*x-121;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
double l=1.5,r=2.4,mid,t;
while(fabs(l-r)>1e-7)
{
mid=(l+r)/2;
t=f(mid);
if(t==0)
break;
else if(t>0)
l=mid;
else if(t<0)
r=mid;
}
printf("%.6f\n",mid);
return 0;
}