标签:cti abs return code 需要 double string print practice
http://bailian.openjudge.cn/practice/4140/
这个题给出的函数是一个单调函数,用数学中的二分法可以求解,这个题需要注意精度问题,题目要求保留9位小数,在误差的选择上需要注意,这里我用的是eps = 1e-8。
#include <cstring>
#include <cstdio>
#include <cmath>
double EPS = 1e-6;
double f(double x){
return x*x*x - 5*x*x + 10*x - 80;
}
int main(){
double l = 0, r = 10;
double root = (l + r)/2;
while(fabs(f(root)) > EPS){
root = (l + r) /2;
if(f(root) > 0)
r = root;
else
l = root;
}
printf("%.9f\n", root);
}
标签:cti abs return code 需要 double string print practice
原文地址:https://www.cnblogs.com/zhangyue123/p/12614529.html