您的位置:首页 > 其它

hdu 1215 求n的因子之和(数论) .

2011-09-07 09:56 197 查看
若n = p1^e1 * p2^e2 * ……*p3^e3(任何一个数都可以分解成素数乘积)

则n的因子个数为 (1+e1)(1+e2)……(1+e3)

n的各个因子的和为(1+p1+p1^2+……+p1^e1)(1+p2+p2^2+……+p2^e2)……(1+p3+p3^2+……+p3^e3)

也可以用打表的方法过

//打表

#include<stdio.h>

int a[500000];

int main()

{

int t,n,i,j;

for(i=1;i<=500000;i++)

a[i]=1;

for(i=2;i<=250000;i++)

for(j=i+i;j<=500000;j+=i)

a[j]=a[j]+i;

scanf("%d",&t);

while(t--)

{

scanf("%d",&n);

printf("%d/n",a
);

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: