【杭电2199】Can you solve this equation?
来源:互联网 发布:加入淘宝要多少钱 编辑:程序博客网 时间:2024/06/06 09:32
这题卡精度,精确到小数点后第四位,所以while()条件用<1e-5作为限制,不能受整数二分方法的限制,重要的是二分思想,本题只要让r或l直接等于mid即可,因为浮点型除以2后不存在约数是个确定的值,不符合while()条件就跳出输出mid,简洁明了。
还有其他的二分方法,不过这个理解起来最为简单,我也是借鉴别人的代码综合而来的,却是是受益匪浅。
#include<stdio.h>#include<math.h>double judge(double mid) { return 8*pow(mid,4.0)+7*pow(mid,3.0)+2*pow(mid,2.0)+3*mid+6;}int main() { int T; scanf("%d",&T); while(T--) { double y; scanf("%lf",&y); if(y<judge(0.0)||y>judge(100.0)) { printf("No solution!\n"); continue; } double l=0,r=100; double mid; while(fabs(judge(mid)-y)>1e-5) { mid=(l+r)/2; if(judge(mid)>y) r=mid; else if(judge(mid)<y) l=mid; } printf("%.4lf\n",mid); } return 0;}
http://acm.hdu.edu.cn/showproblem.php?pid=2199
0 0
- 杭电 2199 Can you solve this equation?
- 杭电2199 Can you solve this equation?(二分)
- 杭电 HDU ACM 2199 Can you solve this equation?
- hdu杭电2199 Can you solve this equation?【二分】
- 杭电2199Can you solve this equation?(初试二分法)
- 杭电2199 Can you solve this equation?
- 【杭电】[2199]Can you solve this equation?
- 杭电-2199 Can you solve this equation? (简单二分)
- 【杭电2199】Can you solve this equation?
- HDU--杭电--Can you solve this equation?--二分
- hdu 2199 Can you solve this equation?
- hdu 2199 Can you solve this equation?
- hdu 2199 Can you solve this equation?
- HDU 2199 Can you solve this equation?
- hdu 2199 Can you solve this equation?
- HDU 2199-Can you solve this equation?
- hdu 2199 Can you solve this equation?
- hdu 2199 can you solve this equation
- VS2015+Fltk1.3.3 编程
- Android基础学习之Android 四大组件详解
- 单例模式
- 个人对main函数解析
- 【我的代码】java初级练手小项目--局域网聊天室
- 【杭电2199】Can you solve this equation?
- for_each 源码剖析
- 动态规划之划分动态规划:矩阵链乘 poj 1651 Multiplication Puzzle
- UVA1585
- 工厂方法模式
- STM32学习-深入理解待机实验
- shiro 注解
- 借用Redis生成主键实现所有类新增不再需要手动配置主键,序列什么的通通GG
- 创建物理卷报错Can't open /dev/sdb5 exclusively. Mounted filesystem的问题解决过程记录