zoukankan      html  css  js  c++  java
  • Can you solve this equation?

    Problem Description
    Now,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 please try your lucky.
     

    Input
    The 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);
     

    Output
    For 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
    2 100 -4
     

    Sample Output
    1.6152 No solution!
    #include<cstdio>
    #include<cmath>
    
    double cha(double x)
    {
    		return 8.0*pow(x,4.0)+ 7*pow(x,3.0)+ 2.0*pow(x,2.0)+ 3.0*x +6.0;
    
    }
    int main()
    {
    	int t;
    	scanf("%d",&t);
    	while(t--)
    	{
    		double n;
    		scanf("%lf",&n);
    	     int max=cha(100.0);
    		if(n<6||n>max)
    		{
    			printf("No solution!
    ");
    			continue;
    		}
    		double mid,l=0.0,r=100.0;
    		int s=100;
    		while(s--)
    		{
    			mid=(l+r)/2;
    			if(cha(mid)==n)
    			{
    				break;
    			}
    			if(cha(mid)>=n)
    			{
    				r=mid;
    			}
    			else
    			{
    				l=mid;
    			}
    		}
    		printf("%.4lf
    ",mid);
    	}
    	return 0;
    }

  • 相关阅读:
    java前三章总结
    Java入门第二章
    java编程入门小结
    Java入门第二章
    java预习易错点
    计算机基础
    切换卡
    ajax
    水印4
    shuiyin3
  • 原文地址:https://www.cnblogs.com/kingjordan/p/12027130.html
Copyright © 2011-2022 走看看