题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2199
题意:给一个Y,求满足8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y的x,且X在范围[0,100]中,若没有符合要求的X则输出No solution!
不知道为什么while开到1e-6会wa,但是开到1e-8也就二分34次(不用吝啬haha)
#include<bits/stdc++.h> using namespace std; double f(double n){return 8*n*n*n*n+7*n*n*n+2*n*n+3*n+6;} int main() { int T; scanf("%d",&T); while(T--) { double l=0,r=100,y; scanf("%lf",&y); if(f(0)>y||f(100)<y){printf("No solution!\n");continue;} while(r-l>1e-7) { double mid=(l+r)/2; if(f(mid)<y)l=mid; //<=和<都可以过... else r=mid; } printf("%.4f\n",l); } return 0; }
原文:https://www.cnblogs.com/myrtle/p/11762293.html