POJ-2661(不断优化)

来源:互联网 发布:办公室网络共享 编辑:程序博客网 时间:2024/06/13 02:15
/*==========================================================*\| 求2^k>=n!,两边同时log10,打表简化\*==========================================================*/int main(){int i, j, k;ll y = 2;int d[5000];j = 1;double sum = 0;k = 1;for (i = 1960; i <= 2160; i += 10) {y *= 2;double x = y;x *= log10(2.0);for (; ; ++j) {//优化for (; k <= j; ++k)//优化sum += log10(k * 1.0);if (sum > x)break;}d[i / 10] = j - 1;//printf("%d %d\n", i, j - 1);}int n;while (cin>>n, n) {cout<<d[n / 10]<<endl;}    return 0;}

原创粉丝点击