10916专题

uva 10916 Factstone Benchmark(打表)

题意是求 k ! <= 2 ^ n ,的最小k。 由于n比较大,大到 2 ^ 20 次方,所以 2 ^ 2 ^ 20比较难算,所以做一些基础的数学变换。 对不等式两边同时取log2,得: log2(k ! ) <=  log2(2 ^ n)= n,即:log2(1) + log2(2) + log2 (3) + log2(4) + ... + log2(k) <= n ,其中 n 为 2 ^

uva 10916 Factstone Benchmark

题意:给你一个年份y,1960<=y<=2160,从1960年的4位整数开始,每10年位数都会乘以2,要你输出一个数n,使得n!能被当前的位数表示出来。 取对数。 #include <iostream>#include <cstdio>#include <cmath>#include <cstring>using namespace std;const int N=30;int