UVA10916- Factstone Benchmark

来源:互联网 发布:js获取当前日期 编辑:程序博客网 时间:2024/06/14 20:24

计算 n的最大值,2^n>n!,如果一直整数相乘的话,会越界,所以要取对数。

#include<stdio.h>#include<math.h>#include<algorithm>using namespace std;int main(){int n, i;double m, sum;while (scanf("%d", &n) && n){m = pow(2, (n - 1940) / 10) * log(2);sum = 0;for(int i = 1; ; i++){sum += log(i);if (sum > m){printf("%d\n", i - 1);break;}}}return 0;}


原创粉丝点击