题目:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68990#problem/E

题目要求:p*e-xq*sin(x) + r*cos(x) + s*tan(x) + t*x2 + u = 0,求出x的值;

where 0 <= x <= 1.

题目解析:

首先要学会观察题目,因为p,r>=0,q,s,t<=0,对上面方程求导发现导数<=0,所以原方程单调递减,(满足使用二分的条件)然后假如方程有答案,则可以利用二分来查找满足条件的解,注意二分的条件边界(!!!),其次上面值都可以通过调用math.h库来实现,具体实现请看代码。

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>
#include <math.h>
#define eps 1e-9
using namespace std;
double p, q, r, s, t, u;
double findx(double x)
{
return (p*exp(-x) + q*sin(x) + r*cos(x) + s*tan(x) + t*x*x+u);//exp(x)为e^x
}
int main()
{
while(scanf("%lf%lf%lf%lf%lf%lf",&p,&q,&r,&s,&t,&u)!=EOF)
{
double s1 = findx(), s2 = findx(1.0);
if(s1*s2 > )//说明方程没解
{
printf("No solution\n");
continue;
}
double lf = 0.0, rf = 1.0, sum, m;
while(rf-lf > eps)
{
m = (rf+lf)/2.0;
sum = findx(m);
if(sum < ) rf = m;
else lf = m;
}
printf("%.4lf\n", rf);
}
return ;
}

最新文章

  1. SQL Server 2012 AlwaysOn 亲身实历记
  2. Webform(邮箱模式)
  3. HDU 1538
  4. info grep半翻译加整理
  5. Titanium系列--安装Titanium Studio 中的Android SDK,JDK以及环境变量的配置(二)
  6. js控制台调试
  7. 「译」JavaScript 的怪癖 1:隐式类型转换
  8. 在SQL Server 2014下面使用的SQL2000的Northwind和Pubs示例数据库
  9. YII数据库增删查改操作
  10. 装饰者模式(Decorator)
  11. 【更新日志】售后CP更新日志
  12. linux学习 建立静态库,动态库,写简单的makefile
  13. maven生成war包的两种方式
  14. JBPM之JPdl小叙
  15. TCP/IP(八)之总结ICP/IP四层模型
  16. 大白话5分钟带你走进人工智能-第十四节过拟合解决手段L1和L2正则
  17. day33 锁和队列
  18. day64 url用法以及django的路由系统
  19. C#复习正则表达式
  20. G - 楼房重建 (线段树)

热门文章

  1. Softmax vs. Softmax-Loss VS cross-entropy损失函数 Numerical Stability(转载)
  2. 第二百五十三节,Bootstrap项目实战-资讯
  3. 【BZOJ】2555: SubString(后缀自动机)
  4. Struts2_day04--自定义拦截器_Struts2的标签库_表单标签
  5. Android &quot;Please ensure that adb is correctly located at&quot; 错误
  6. 用Broadcast Receiver刷新数据
  7. Tiny4412 Android 5.0 编译系统学习笔记
  8. height:calc(100% - 40px)
  9. dbForge mysql数据库比对
  10. ZOJ 3607 Lazier Salesgirl (枚举)