Expanding Rods(ZJU_2370二分法)
来源:互联网 发布:网络直报 编辑:程序博客网 时间:2024/06/11 20:03
//使用二分法解方程,测试数据过了,但提交WA.(已改正确)
地址:http://acm.zju.edu.cn/show_problem.php?pid=2370
#include <stdio.h>
#include <math.h>
int main()
{
double l,c,n,ll,t,min,max,mid,y,r,h;
while(scanf("%lf%lf%lf",&l,&n,&c))
{
if(l==-1&&n==-1&&c==-1)
break;
if(n==0||c==0)
printf("%.3lf/n",0);
else
{
ll=(1+c*n)*l;
t=l/ll;
//printf("%lf/n",t);
min=0;
max=3.1415927;
while(true)
{
mid=(min+max)/2;
y=sin(mid)-t*mid;
if(y>0.00000000000001)
min=mid;
else if(y<0)
max=mid;
else break;
}
//printf("%lf/n",mid);
r=(l/2.0)/sin(mid);
h=r-r*cos(mid);
printf("%.3lf/n",h);
}
}
}
//正确版本:
#include <stdio.h>
#include <math.h>
int main()
{
double l,c,n,ll,t,min,max,mid,y,r,h;
while(scanf("%lf %lf %lf",&l,&n,&c)!=-1)
{
if(l==-1&&n==-1&&c==-1)
break;
if(n*c==0)
printf("%.3lf/n",0.0);
else
{
ll=(1+c*n)*l;
t=l/ll;
//printf("%lf/n",t);
min=0;
max=acos(-1)/2;
for(int i=0;i<100;i++)
{
mid=(min+max)/2;
y=sin(mid)-t*mid;
if(y>0)
min=mid;
else
max=mid;
}
//printf("%lf/n",mid);
h=(1-cos(mid))*ll/2/mid;
printf("%.3lf/n",h);
}
}
}
- Expanding Rods(ZJU_2370二分法)
- POJ1905-Expanding Rods - 二分法。
- zoj 2370 Expanding Rods 二分法
- POJ - 1905 Expanding Rods(二分法)
- Expanding Rods
- Expanding Rods
- Expanding Rods
- poj 1905Expanding Rods(二分法)(解题报告)
- POJ 1905 Expanding Rods(二分法,简单几何知识)
- (POJ1905)Expanding Rods <几何+二分法(解方程)>
- POJ 1905-Expanding Rods(二分法-中心移动距离)
- FOJ 1083 Expanding Rods
- pku1905 Expanding Rods
- POJ1905 Expanding Rods 二分
- poj-1905 Expanding Rods
- Expanding Rods解题报告
- POJ1905:Expanding Rods
- POJ1905 Expanding Rods
- 我以后要攒钱了
- 关于图像处理的一点问题
- 停不了的爱
- Linux下的多线程编程
- WebLogic域配置策略--手动和模板选项
- Expanding Rods(ZJU_2370二分法)
- 简化WebLogic 8.1项目的配置
- 关于EAI连接
- 第十五届Jolt 卓越震撼大奖总决赛获奖图书
- 在JSP中访问数据库大全
- 一道受用终身的试题,看完不回者,斩~!超经典~!~!
- domino如何配置Xsp服务器
- 决策支持系统(DSS)介绍
- 第十五届Jolt 卓越震撼大奖候选名单