现在的位置: 首页 > 综合 > 正文

pku2992(约数,素因子分解)

2012年11月17日 ⁄ 综合 ⁄ 共 1600字 ⁄ 字号 评论关闭

http://162.105.81.212/JudgeOnline/problem?id=2992

 

题意:求组合数C[n][k]的约数个数。(0<= k <= n<= 431)

思路:一个数num的约数个数为cnt,将num质因数分解,得num = p1^a1 * p2^a2 * p3^a3 *……*pn^an.

则约数个数cnt = (a1 + 1) * (a2 + 1) * (a3 + 1) * …… *(an + 1).

C[n][k] = n ! / ((n - k) ! * k !).

先预求1到431的素数表。没有预处理很容易超时的。

1.约数个数定理:设n的标准质因数分解为n=p1^a1*p2^a2*...*pm^am,
则n的因数个数=(a1+1)*(a2+1)*...*(am+1).
2.n!的素因子 = (n-1)!的素因子 + n的素因子
3.c(n,k)的素因子分解 = n!的素因子- (n-k)!的素因子 - k!的素因子

 

 

抱歉!评论已关闭.