题目:
输入一个数n,输出前n个数的约数的和。(印象中有1s的时间限制,大数据集可能超时,比如100000000)。
输入:
7
输出:
41
约数:整数A除以整数B(B≠0) 除得的商正好是整数而没有余数,我们就说A能被B整除,或B能整除A。A称为B的倍数,B称为A的约数
#includeusing namespace std; int gcd(int a, int b) { if (b == 0) return a; else return gcd(b, a%b); } int main() { int n,cnt=0; cin >> n; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { if (i%j == 0) cnt += j; } } cout << cnt; system("pause"); return 0; }
另:求最大公约数模板



