Can you solve this equation?Time
limit:2000/1000 MS (java/others) Memory limit:32768/32768 K (java/others)
Total submission (s): 11044 Accepted Submission (s): 5083
Problem Descriptionnow,given the equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 = = Y,can you find its solution between 0 and 100 ;
Now try your lucky.
Inputthe first line of the input contains an integer T (1<=t<=100) which means the number of test cases. Then T-lines follow, each line has a real number Y (Fabs (Y) <= 1e10);
Outputfor Each test case, you should just output one real number (accurate up to 4 decimal places), which is the solution of The Equation,or "No solution!", if there is No solution for the equation between 0 and 100.
Sample Input
2100-4
Sample Output
1.6152No solution!
Authorredow
#include <stdio.h> #include <math.h>double f (double x) {return 8*x*x*x*x+7*x*x*x+2*x*x+3*x+6;} Double Binary_search (double x,double y,double N) {double mid= (x+y)/2;if (y-x<=1e-7) return x; Just beginning to write if (Fabs (mid) <=1e-7) return mid; The result timed out, the original still did not understand the specific exit boundary condition of the search for the sub-binary!!! else if (f (mid) >=n) return Binary_search (x,mid+1e-20,n); Wrong n times, written in mid+1e-7!!! else return Binary_search (mid+1e-20,y,n); } int main () {int t;scanf ("%d", &t), while (t--) {double y,t;scanf ("%lf", &y); if (y<f (0) | | Y>f (+)) { printf ("No solution!\n"); Continue; } T=binary_search (0,100,y);p rintf ("%.4lf\n", t);} return 0;}
Hdoj-2199-can solve this equation? (Two-point search)