C++#A. 盈数 A B C D 传统题 1000ms 256MiB 题目描述 如果一个数除去它本身以外的所有因数的和大于它本身,则称这个数为 盈数。 试找出 1 1 到 � N 之间所有的盈数。 输入格式 输入仅一行一个正整数,为 � N。 输出格式 输出 1 1 到 � N 之间所有的盈数,一行一个。1≤N≤1000
时间: 2024-01-17 22:02:43 浏览: 81
C语言程序设计-计算并输出给定整数n的所有因子之和(不包括1与自身);注意:n的值不大于1000.c
5星 · 资源好评率100%
好的,以下是 C++ 的代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
for(int i = 1; i <= n; i++) {
int sum = 0;
for(int j = 1; j <= i / 2; j++) {
if(i % j == 0) {
sum += j;
}
}
if(sum > i) {
cout << i << endl;
}
}
return 0;
}
```
我们首先读入一个正整数 `n`,然后用一个循环枚举从 1 到 n 的每个数。对于每个数 i,我们再用一个循环枚举它的因数 j,如果 j 是 i 的因数,那么我们就把 j 累加到 sum 中。最后,如果 sum 大于 i,那么 i 就是一个盈数,我们输出它即可。
阅读全文