题意:1960年可以用4位存储,以后每10年翻一倍,已知年份,问那年可以存储的最大n!是多少?
算出最大的ln(n!)<k位 即可
c语言算log() 用#include<cmath> 中的log(n)
c语言中 log(n) 相当与ln(n) 所以这道题应转换成log(n)/log(2) 计算
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int y;
while(cin>>y)
{
if(!y) break;
y=pow(2,(y-1960)/10)*4;
int ans=1;
double a=0;
while(a<y)
{
a=a+log(ans)/log(2);
//cout<<a<<endl;
ans++;
}
cout<<ans-2<<endl;
}
}