| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
不是WA就是tle,有什么好方法吗?(附程序)#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
double l,n,c,l1,hi,lo,pi,mid,f;
int main(void){
while(true){
scanf("%lf %lf %lf",&l,&n,&c);
if(l<0 || n<0 ||c<0)break;
l1=l+n*c*l;
pi=3.1415926;mid=0;
hi=pi/2;lo=0;mid=(hi+lo)/2;
f=mid*l-sin(mid)*l1;
while (abs(f)>1e-12)
{
if (f>0) hi=mid; else lo=mid;
mid=(hi+lo)/2;
f=mid*l-sin(mid)*l1;
}
printf("%.3lf\n",l1/mid/2*(1-cos(mid)));
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator