题解:二分法
注意:double判断大小应该用差值小于某个数来进行判断
#include <stdio.h>
#include <iostream>
#include <cmath>
using namespace std;
double test(double k){
return pow(k,5)-15*pow(k,4)+85*pow(k,3)-225*pow(k,2)+274*k-121;
}
int main(){
double l=1.500000,r=2.400000;
double mid=0.0;
while(abs(l-r)>0.000001){
mid=(l+r)/2;
if(test(mid)>0){
l=mid;
}else if(test(mid)<0){
r=mid;
}
}
printf("%.6f\n",mid);
}