约数之和
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 1351 测试通过 : 853
总提交 : 1351 测试通过 : 853
比赛描述
给你一个数字 求它的所有约数的和。
比如12,约数有1,2,3,4,6,12 加起来是28
现在给你一个数字I。 (1 <= I <= 1,000,000).
输入
一个数字I
输出
约数之和
样例输入
12
样例输出
28
题目来源
USACO 2006 Open
#include<cstdio>
long n,s=0;
int main(){
scanf("%ld",&n);
int i;
for(i=1;i*i<n;++i)
if(n%i==0)
s += i+n/i;
if(i * i == n){
s += i;
}
printf("%d\n",s);
}