题目描述
给出一个数n,计算n的所有的约数的总和
输入格式一个整数n
输出格式一个整数表述n的所有的约数的总和
样例输入 #1
1
输出 #1
1
输入 #2
6
输出 #2
12
数据范围与提示
12有1,2,3,4,6,12共6个约数,总和为28
注意n <= 10^9
分类标签[枚举]
C++题解代码
#include <bits/stdc++.h>
using namespace std;
int a;
int b;
int c;
int d;
// The main procedure
int main() {
cin>>a;
b = sqrt(a);
d = 0;
for (int i = 1; i <= b; i++) {
if ((a%i) == 0) {
c = (a/i);
if (i == c) {
d += c;
} else {
d += (c+i);
}
}
}
cout<<d;
return 0;
}
Blockly题解代码图片