码迷,mamicode.com
首页 > 其他好文 > 详细

poj 1905 Expanding Rods 二分解方程

时间:2015-06-15 13:10:36      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:poj   算法   

题意:

技术分享

        中已知L,S解h。

分析:

两个方程两个未知数,理论是可解的。解起来有困难,可用二分的方法。

代码:

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	double l,n,c,s,r;
	while(scanf("%lf%lf%lf",&l,&n,&c)==3){
		if(l<0) break;
		double mid,low=0.0,high=l/2;
		s=(1+n*c)*l;
		while(high-low>1e-5){
			mid=(low+high)/2;
			r=(4*mid*mid+l*l)/(8*mid);
			if(2*r*asin(l/(2*r))<s)
				low=mid;
			else
				high=mid;
		}
		printf("%.3lf\n",low);
	}
	return 0;	
} 


poj 1905 Expanding Rods 二分解方程

标签:poj   算法   

原文地址:http://blog.csdn.net/sepnine/article/details/46502351

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!