HDU_2199_CanYouSolveThisEquation
来源:互联网 发布:java调用方式 编辑:程序博客网 时间:2024/06/14 04:06
二分法求方程的根。
注意函数在0-100单调递增因此最开始想的有点多。
#include <iostream>#include<stdio.h>using namespace std;typedef double LD;const LD AC=1e-6; //保留4位要多一些LD f(LD x){ return 8*x*x*x*x+7*x*x*x+2*x*x+3*x+6;}LD bs(LD y){ LD lo=0,hi=100.0; LD mid; while(hi-lo>AC) //查找的跳出条件变化了 { mid=lo+(hi-lo)/2.0; if(f(mid)>y) hi=mid; else lo=mid; } return hi;}int main(){ int t; LD y; LD fmax=f(100.0),fmin=f(0); scanf("%d",&t); while(t--) { scanf("%lf",&y); if(y<fmin||y>fmax) { printf("No solution!\n"); } else printf("%.4lf\n",bs(y)); } return 0;}
0 0
- HDU_2199_CanYouSolveThisEquation
- 收藏网站68
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第25讲:Break、Cintinue、Goto控制
- MySQL命令详解
- 多次编辑xml文件后,eclipse内存溢出异常崩溃
- linux下的watch命令
- HDU_2199_CanYouSolveThisEquation
- 收藏网站69
- 欢迎使用CSDN-markdown编辑器
- extends 和 implements
- Android及ios适配原理总结
- MySQL 数据库实现远程连接
- Machine Learning Foundations 第5节-第8节
- IOS如何使用第三方字体
- QPushButton