POJ 1905 Expanding Rods G++

#include <iostream>
#include <cmath>
#include <iomanip> 
using namespace std;
//抄博友程序 读博友好分析 没掌握 
int main()
{
	while(1)
	{
		double l;
		double n;
		double c;
		cin>>l>>n>>c;
		if(l<0 && n<0 && c<0)
		{
			break;
		}
		double s=(1+n*c)*l;	
		double left=0;
		double right=l/2.0;
		//double jg;
		double mid;//抄博友 背 
		while((right-left)>(1e-5))//抄博友程序 
		{
			mid=(left+right)/2;
			
			double r=(4.0*mid*mid+l*l)/(8.0*mid);
			//cout<<mid<<" "<<r<<" "<<2*r*asin(l/(2*r))<<endl;
			if(s>2*r*asin(l/(2*r)))
			{
				left=mid;
				//jg=mid;
			}else
			{
				right=mid;
			}
		}	
		cout<<fixed<<setprecision(3)<<mid<<endl; 
	}
	return 0;
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值