宁波工程学院 [1346] 虎追兔,兔躲虎 二分法 精确度小细节
2013-03-02 23:43
148 查看
http://ac.nbutoj.com/Problem/view.xhtml?id=1346
老虎想和兔子玩, 所以老虎一直追着兔子, 兔子觉着老虎很笨, 就一直躲着老虎.
有天, 兔子躲烦了. 停下来对老虎说 : "我最近对一个问题感到十分的困惑, 如果你能帮我解决我的问题, 我就不躲着你了."
有一个方程, 如下所示.
其中0 < q, s, t, u< 500 且 r , v < 0.
兔子想知道该方程在 [0, 1] 区间内的所有解.
老虎一下子就不知道该怎么办了.
输入
本题有多组输入, 对于每组数据, 在一行内包含q, r, s, t, u, v
输出
对于每一组输出, 从小到大输出方程的所有解, 用空格分隔, 保留3位小数. 否则输出 -1
样例输入
样例输出
提示
来源
思路 :
这个题 没有看出来到底是怎样的 只是感觉应该考的是二分法 所以就猜着试了下 把他当做单调递增函数去做
#include<stdio.h>
#include<math.h>
int q,r,s,t,u,v;
double ans(double x)
{
return q*sin(x)+r*cos(x)+s*tan(x)+t*x*x+u*x+v;
}
int main()
{
double mid,x,start,end;
while(scanf("%d %d %d %d %d %d",&q,&r,&s,&t,&u,&v)!=EOF)
{
x=-1;
start=0;end=1;
while(end-start>0.000000001)//注意这里少了一个零就会错 要很小才行 有时候对精确度把握真心不好说 就记住这个吧 以后都用这个精确度
{
mid=(start+end)/2;
double t=ans(mid);
if(t<0.00001&&t>-0.000001)
{
x=mid;
break;
}
else if(t<0)
{
start=mid;
}
else end=mid;
}
if(x!=-1) printf("%.3lf\n",x);
else printf("-1\n");
}
return 0;
}
[1346] 虎追兔,兔躲虎
时间限制: 1000 ms 内存限制: 65535 K 问题描述老虎想和兔子玩, 所以老虎一直追着兔子, 兔子觉着老虎很笨, 就一直躲着老虎.
有天, 兔子躲烦了. 停下来对老虎说 : "我最近对一个问题感到十分的困惑, 如果你能帮我解决我的问题, 我就不躲着你了."
有一个方程, 如下所示.
其中0 < q, s, t, u< 500 且 r , v < 0.
兔子想知道该方程在 [0, 1] 区间内的所有解.
老虎一下子就不知道该怎么办了.
输入
本题有多组输入, 对于每组数据, 在一行内包含q, r, s, t, u, v
输出
对于每一组输出, 从小到大输出方程的所有解, 用空格分隔, 保留3位小数. 否则输出 -1
样例输入
1 -1 1 1 1 -1
样例输出
0.522
提示
无
来源
monkeyde17
思路 :
这个题 没有看出来到底是怎样的 只是感觉应该考的是二分法 所以就猜着试了下 把他当做单调递增函数去做
#include<stdio.h>
#include<math.h>
int q,r,s,t,u,v;
double ans(double x)
{
return q*sin(x)+r*cos(x)+s*tan(x)+t*x*x+u*x+v;
}
int main()
{
double mid,x,start,end;
while(scanf("%d %d %d %d %d %d",&q,&r,&s,&t,&u,&v)!=EOF)
{
x=-1;
start=0;end=1;
while(end-start>0.000000001)//注意这里少了一个零就会错 要很小才行 有时候对精确度把握真心不好说 就记住这个吧 以后都用这个精确度
{
mid=(start+end)/2;
double t=ans(mid);
if(t<0.00001&&t>-0.000001)
{
x=mid;
break;
}
else if(t<0)
{
start=mid;
}
else end=mid;
}
if(x!=-1) printf("%.3lf\n",x);
else printf("-1\n");
}
return 0;
}
相关文章推荐
- uvaoj10474---详解细节(二分法)注意!
- 二分法细节
- 透过细节看日本(转)
- Java transient关键字使用小结及一些需要注意的细节
- 【Unity Shaders】法线纹理(Normal Mapping)的实现细节
- 期刊投稿心得一(Word转LaTex的流程细节)
- actionscript 细节问题
- Linux编程细节2-脚本
- 关于Shell脚本编程不得不知的几个细节
- 二分法找字符串
- 培养了不起男孩的100个细节
- ACM:二分查找,以及利用二分法来找上下界
- 递归实现二分法
- Erlang调度器历史细节探析
- BinarySearch 二分法查询
- 二分法与牛顿拉夫逊法基本思想
- Spring中使用xml配置bean的细节
- TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节
- java命令行编译与执行细节备忘
- DDL语句在存储过程中使用的细节和要点