1241 二分法求函数的零点
题目来源
信息学奥赛一本通
题目描述
\(有函数: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<cmath>
using namespace std;
double fun(double x){
return pow(x,5)-15*pow(x,4)+85*pow(x,3)-225*pow(x,2)+274*x-121;
}
int main(){
double l=1.5,r=2.4;
while (r-l>1e-8)
{
double mid=(l+r)/2;
if(fun(mid)<0)r=mid;
else if(fun(mid)>0) l=mid;
else if(fun(mid)==0){
printf("%.6lf",mid);
return 0;
}
}
printf("%.6lf",l);
return 0;
}
标签:1241,求函数,1.5,double,mid,二分法,pow
From: https://www.cnblogs.com/shinnyblue/p/17342832.html