- Description
给定一个正整数N,请求出它所有约数的和。
比如,20有6个约数:1,2,4,5,10,20,所以,约数之和是1+2+4+5+10=42。
- Input
多组测试数据(不多于500000组),每组数据输入一行,一个正整数N(1≤N≤500000)。输入直至文件结尾。
- Output
每组数据输出一行,一个正整数S:表示N的约数之和。
- Sample Input
1
2
4
8
16
- Sample Output
1
3
7
15
31
#include<stdio.h>
int main()
{
int n,i,s=0;
while(scanf("%d",&n)!=EOF)
{
s=0;
for(i=1;i<=n;i++)
if(n%i==0)
s+=i;
printf("%d\n",s);
}
return 0;
}