
约数问题
文章平均质量分 89
u011008379
这个作者很懒,什么都没留下…
展开
-
HDU 1452
这道题是求一个数所有因子的和,但这道题给出的数是底数相同,但指数不同,而且十分的大。 先将2004分解成素因子乘积的形式,即2004=2^2 * 3 * 167,那么2004^x=2^(2*x) * 3^x * 167^x。由数论知识可知因子和函数是一个乘性函数f(又叫积性函数),所以对于两个互素的正整数a,b,有f(a*b)=f(a)*f(b)。在这里我们可以拆成f(2004^x原创 2014-03-06 14:15:10 · 774 阅读 · 0 评论 -
poj 2992
这是一道数论的题目,要想做出这题,只需要明白两点就行: 1)一个正整数n按素因子分解:n=p1^a1*p2^a2*....*pk^ak,那么n的约数的个数为(a1+1)(a2+1)...(ak+1); 2)对于一个素数p,n!中按素因子分解,p的幂为 n/p+n/p^2+n/p^3...,其中/为整除 随便说一下,这种方法速度很慢,时间900MS以上原创 2014-03-03 23:47:38 · 701 阅读 · 0 评论