码迷,mamicode.com
首页 > 其他好文 > 详细

ACM Strange fuction

时间:2017-08-24 01:12:30      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:sample   inpu   print   包含   panel   printf   std   put   double   

现在,这里有一个功能:
  F(x) = 6 * x^7+8*x^6+7*x^3+5*x^2-y*x (0 <= x <=100) 
当x在0到100之间时,你能找到最小值吗?

输入

第一行包含一个整数T(1 < = T < = 100),这意味着测试用例的数量。然后T行,每一行只有一个实数Y。(0 < Y < 1e10)当x在0到100之间时,输出值为最小值(精确到小数点后4位)。

Sample Input

2
100
200

Sample Output

-74.4291
-178.8534
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 double der(double mid)
 4 {
 5     return 42*pow(mid,6)+48*pow(mid,5)+21*mid*mid+10*mid;
 6 }
 7 double cacu(double mid,double y)
 8 {
 9     return 6*pow(mid,7)+8*pow(mid,6)+7*pow(mid,3)+5*mid*mid-y*mid;
10 }
11 int main()
12 {
13     int n;
14     double y,left,right,mid;
15     while(cin>>n)
16     {
17         while(n--)
18         {
19             scanf("%lf",&y);
20             left = 0;
21             right = 100;
22             while(right - left > 1e-8)23             {
24                 mid = (left + right) /2;
25                 if(der(mid) - y > 0)
26                     right = mid;
27                 else
28                     left = mid;
29             }
30             printf("%.4lf\n",cacu(mid,y));
31         }
32 
33     }
34     return 0;
35 }

 

ACM Strange fuction

标签:sample   inpu   print   包含   panel   printf   std   put   double   

原文地址:http://www.cnblogs.com/jj81/p/7404590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!