《算法竞赛-训练指南》第二章-2.26_UVa 10341
来源:互联网 发布:福昕阅读器mac版 下载 编辑:程序博客网 时间:2024/04/30 09:01
这是一道纯解方程的题目,因为确定了范围,可以直接判断它的单调性。然后根据图像求解。
就注意这种单调性求解的题目一般都是要二分的。而因为double类型的一些缺点,并不想我们现实中那样。比如1就是1,在double型里面1可能是0.999999999999。注意这些就行了。另外就是二分的时候R-L尽量的小一些吧,因为越小答案就越精确。这个不一定就是保留到4位,你就1e-5就行,这是不一定的,稍微小一点时间上不会差太多,但是不这样答案就有可能错!切记。
贴出代码:
#include <stdio.h>#include <string.h>#include <math.h>#include <iostream>#include <string>using namespace std;const double eps = 1e-14;double p, q, r, s, t, u;double F(double x){return p * exp(-x) + q * sin(x) + r * cos(x) + s * tan(x) + t * x * x + u;}int main(){//printf("%lf", 1e-5);while (scanf("%lf%lf%lf%lf%lf%lf", &p, &q, &r, &s, &t, &u) != EOF){double ans0 = F(0.0);if (ans0 < 0){printf("No solution\n");continue;}double ans1 = F(1.0);if (ans1 > 0){printf("No solution\n");continue;}double L = 0.0;double R = 1.0;while (R - L > 1e-7) //这里为什么要达到1e-7方就不得而知了!看来书上讲的到1e-5不靠谱啊、 {double mid = L + (R - L) / 2;if (F(mid) < 0){R = mid;}else{L = mid;}}printf("%.4lf\n", L);}//system("pause");return 0;}
- 《算法竞赛-训练指南》第二章-2.26_UVa 10341
- 《算法竞赛-训练指南》第二章-2.1_UVa 11538
- 《算法竞赛-训练指南》第二章-2.2_UVa 11401
- 《算法竞赛-训练指南》第二章-2.3_UVa 11806
- 《算法竞赛-训练指南》第二章-2.5_UVa 11361
- 《算法竞赛-训练指南》第二章-2.9_UVa 11426
- 《算法竞赛-训练指南》第二章-2.14_UVa 11021
- 《算法竞赛-训练指南》第二章-2.15_UVa 11722
- 《算法竞赛-训练指南》-第二章-2.16_UVa 11427
- 《算法竞赛-训练指南》-第二章-2.18_UVa 10294
- 《算法竞赛-训练指南》第三章-2.2_UVa 11991
- 《算法竞赛-训练指南》第三章-3.8_UVa 11235
- 《算法竞赛-训练指南》第五章-5.1_UVa 11624
- 《算法竞赛-训练指南》第五章-5.2_UVa 10047
- 《算法竞赛-训练指南》第一章-1.5_UVa 10881
- 《算法竞赛-训练指南》-第一章-1.10_UVa 11384
- 《算法竞赛-训练指南》第一章-1.17_UVa 11462
- 《算法竞赛-训练指南》第一章-1.19_UVa 11549
- java项目优化的一些方法
- sql统计-关于学生成绩
- 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况
- 总线地址、物理地址、虚拟地址相关概念澄清
- linux中的ll(转)
- 《算法竞赛-训练指南》第二章-2.26_UVa 10341
- vc++HOOK详细讲解
- 如何创建第一个Chrome App
- 几种通讯模式
- scanf用法总结
- Java内存溢出详解
- IIS 发布wcf
- 如何使用Github上的android开源项目
- ExtJs 4入门 准备Extjs环境准备+ hello world程序 - 快乐的牛?