Uva 10061

题意:求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个质数)。

原文地址:https://www.cnblogs.com/txd0u/p/3578573.html