您的位置:首页 > 其它

uva UVA - 1091610916

2014-05-01 16:50 381 查看
一开始把题目的范围看错了。。搞的我弄高精度。。写死我去了。。后来发现原来只要一点小小的技巧就可以。。直接比较俩数的长度就OK。。因为他们不可能相等 概率太小了。。根据函数的增长特性。。直接通过长度比较可以求出n的大小。。
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
long long  n;
while(cin>>n)
{
if(n==0)break;
n=(n-1960)/10+2;
double flag1=pow(2.0,n+0.0)*log10(2.0);
double flag2=0.0;
for(int i=1;;i++)
{
flag2+=log10(i+0.0);
if(flag2>flag1)
{
cout<<i-1<<endl;
break;
}
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: