zoukankan      html  css  js  c++  java
  • ACM Strange fuction

    现在,这里有一个功能:
      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 del(double mid)  /*求导*/
     4 {
     5     double temp = 42*pow(mid,6)+48*pow(mid,5)+21*mid*mid+10*mid;
     6     
     7     return temp;
     8 }
     9 
    10 double cacu(double mid ,double y)
    11 {
    12     double ans;
    13     ans = 6*pow(mid,7)+8*pow(mid,6)+7*pow(mid,3)+5*mid*mid-y*mid;
    14     return ans;
    15 }
    16 int main()
    17 {
    18     int t;
    19     double y; 
    20     while(cin>>t)
    21     {
    22         while(t--)
    23         {
    24             scanf("%lf",&y);
    25             double left = 0,right = 100,mid;
    26             while( right-left  >1e-7)
    27             {
    28                 mid =(left+right) /2;
    29                 if(del(mid) - y > 0)
    30                     right = mid;
    31                 else
    32                     left = mid;
    33             }    
    34             printf("%.4lf
    ",cacu(mid,y));
    35         }
    36     
    37     } 
    38     return 0;
    39 }
  • 相关阅读:
    完整的WSDL语法
    WSDL UDDI
    八一八 The Social Network的小细节
    MySQL命令行常用命令
    AspectJ风格的Aop切点表达式
    强大的Mockito测试框架
    MySQL锁定状态查看命令
    Yum本地Rpm库设置
    Sed实例大全
    为何 Emacs 和 Vim 被称为两大神器
  • 原文地址:https://www.cnblogs.com/jj81/p/7404590.html
Copyright © 2011-2022 走看看