南邮 OJ 1040 约数之和

约数之和

时间限制(普通/Java) :  1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 1351            测试通过 : 853 

比赛描述

给你一个数字 求它的所有约数的和。

比如12,约数有1234612 加起来是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);
}





你可能感兴趣的:(ACM,南邮OJ)