HDU 2899 Strange fuction
来源:互联网 发布:单片机开发 前景 编辑:程序博客网 时间:2024/05/22 17:07
A - Strange fuction
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uDescription
Now, here is a fuction:
F(x) = 6 * x^7+8*x^6+7*x^3+5*x^2-y*x (0 <= x <=100)
Can you find the minimum value when x is between 0 and 100.
F(x) = 6 * x^7+8*x^6+7*x^3+5*x^2-y*x (0 <= x <=100)
Can you find the minimum value when x is between 0 and 100.
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 only one real numbers Y.(0 < Y <1e10)
Output
Just the minimum value (accurate up to 4 decimal places),when x is between 0 and 100.
Sample Input
2100200
Sample Output
-74.4291-178.8534
二分三分都可以做,三分更快些。
二分的做法是求导函数。然后求导函数为0的点的值便是最小值。
1.二分法(15ms)
#include<stdio.h>#include <math.h>double F1(double x, double y){return 42 * pow(x, 6) + 48 * pow(x, 5) + 21 * pow(x, 2) + 10 * x - y;}double calculate(double x, double y){return 6 * pow(x, 7) + 8 * pow(x, 6) + 7 * pow(x, 3) + 5 * pow(x, 2) - y*x;}int main(){int ynum;scanf("%d", &ynum);while (ynum--){double Y;scanf("%lf", &Y);double lit = pow(10.0, -5);double min = 0, max = 100;double mid = (max + min) / 2;while (min < max&&fabs(F1(mid, Y)) > lit){if (F1(mid, Y) > 0){max = mid;}else if (F1(mid, Y) < 0){min = mid;}elsebreak;mid = (max + min) / 2;}if (mid>0 && mid<100){printf("%.4f\n", calculate(mid,Y));}else{printf("0.0");}}return 0;}
2.三分法(0ms)
#include <stdio.h>#include <math.h>#define eps 1e-8double y;double cal(double x){ return 6 * pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-y*x;}int main(){ int t; scanf("%d",&t); while(t--) { scanf("%lf",&y); double low=0,high=100; double mid, midmid; while ( low + eps < high ) { mid = (low + high) / 2; midmid = (mid + high ) / 2; double cmid = cal(mid); double cmidmid = cal(midmid); if ( cmid < cmidmid ) high = midmid; else low = mid; } printf("%.4lf\n",cal(high)); } return 0;}
0 0
- HDU 2899 Strange fuction
- hdu 2899 Strange fuction
- hdu 2899 Strange fuction
- HDU 2899 Strange fuction
- hdu 2899 Strange fuction
- HDU 2899-Strange fuction
- hdu 2899 Strange fuction
- hdu--2899--Strange fuction
- hdu 2899 Strange fuction
- HDU 2899 Strange fuction
- HDU 2899 Strange fuction
- hdu 2899 Strange fuction
- hdu 2899 Strange fuction
- HDU 2899 Strange fuction
- HDU 2899 Strange fuction
- hdu 2899 Strange fuction
- Strange fuction ----HDU 2899
- hdu 2899 Strange fuction
- Opencv-python学习笔记
- 创建Fragment
- Xcode下使用svn小结
- GO环境设置
- iOS点击空白处收起键盘
- HDU 2899 Strange fuction
- 数据存储详解(二)---->File存储:内部存储 -Cache和外部存储-SD卡
- hdu 2008 数值统计
- android自动化工具之--如何进行Monkey Test
- 实战MYSQL数据库中配置时间调度器(继定时操作)
- 【选择】今天做了影响终身的选择
- 详解C++中命名空间的意义和用法
- Algorithms—45.Jump Game II
- Linux Shell 函数