1241.二分法求函数零点 | 浮点二分
1241 二分法求函数的零点
题目来源
信息学奥赛一本通
题目描述
\(有函数:f(x)=x^5−15x^4+85x^3−225x^2+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;
}
posted on 2023-04-22 13:14 ShinnyBlue 阅读(85) 评论(0) 编辑 收藏 举报