#include<iostream>
#include<cmath>
using namespace std;
double fx(double x){
double result=pow(x,5)-15*pow(x,4)+85*pow(x,3)-225*pow(x,2)+274*x-121;
return result;
}
int main(void){
double left=1.5,right=2.4,mid;
mid=(left+right)/2;
while(right-left>1e-7){
if(fx(mid)>0){
left=mid;
mid=(left+right)/2;
}
else{
right=mid;
mid=(left+right)/2;
}
}
printf("%.6f",right);
}
一开始while的条件写的 while(left<right)
但是报错了
改成了while(right-left>1e-7)就对了
该代码示例是用C++编写的,使用二分法寻找函数fx(x)=x^5-15x^4+85x^3-225x^2+274x-121的根。初始区间为[1.5,2.4],精度设定为1e-7。程序首先定义了函数fx,然后在main函数中应用二分法找到满足精度要求的根。
497

被折叠的 条评论
为什么被折叠?



