题意:求n!在b进制下末尾零的个数和位数, (nleq 2^{20}, 1<bleq 800)。
思路:n!在b进制下的位数可以用log(n!)/log(b)得到;
n!末尾零的个数可以通过求因子b的个数得到,由于n很大,可以把b分解成质因子,假设第i个质因子个数为(p_i),然后统计出n!种对应质因子个数,假设对应n!种所含第i个质因子个数为(s_i,所求为:min {frac{s_i}{p_i}})。
两个回答都可以打表(800以内有145个质数)。