大概题意:找出最大的n,其阶乘<= 2的那个年代bit次方
思路:考虑到会爆表,所以取对数,将乘法换成加法
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
int n;
while(cin >> n&&n!=0){
long long bit_n=(n-1960)/10+2;
long long bit=pow(2,bit_n);
double m=bit*log(2);
double k=0;
int j=0;
while(k <= m){
k+=log(++j);
}
cout << j-1 << endl;
}
}