| Time Limit: 1000MS | Memory Limit: 30000K | |
| Total Submissions: 12827 | Accepted: 3311 | 
Description
 When a thin rod of length L is heated n degrees, it expands to a new length L‘=(1+n*C)*L, where C is the coefficient of heat expansion.
When a thin rod of length L is heated n degrees, it expands to a new length L‘=(1+n*C)*L, where C is the coefficient of heat expansion. Input
Output
Sample Input
1000 100 0.0001 15000 10 0.00006 10 0 0.001 -1 -1 -1
Sample Output
61.329 225.020 0.000
Source
http://blog.csdn.net/lyy289065406/article/details/6648562
ac代码
#include<stdio.h>
#include<math.h>
const double eps=1e-5;
int main()
{
	double l,n,c,s;
	while(scanf("%lf%lf%lf",&l,&n,&c)!=EOF)
	{
		if(l<0&&n<0&&c<0)
			break;
		double low=0,high=0.5*l,mid;
		s=(1+n*c)*l;
		while(high-low>eps)
		{
			mid=(high+low)/2;
			double r=(4*mid*mid+l*l)/(8*mid);
			if(2*r*asin(l/(2*r))<s)
				low=mid;
			else
				high=mid;
		}
		printf("%.3lf\n",mid);
	}
}POJ 题目1905 Expanding Rods(二分,数学几何)
原文:http://blog.csdn.net/yu_ch_sh/article/details/45696819