C++只用循环和if如何判断1000以内的所有完全数
时间: 2024-09-29 09:04:01 浏览: 31
在C++中,你可以使用循环(for或while)结合条件语句(if)来判断1000以内的所有完全数。完全数是指能够被其除自身以外的所有正整数之和所等于本身的数。以下是步骤:
1. 定义一个函数,接收一个参数n作为检查范围的上限。
2. 使用一个`for`循环遍历从1到n-1的所有整数,因为最后一个可能的因子不会超过n本身。
3. 对于每个数i,计算从1到i-1的因子之和。
4. 如果因子之和等于i,则i是一个完全数,打印或存储它。
下面是一个简单的示例代码:
```cpp
#include <iostream>
using namespace std;
bool isPerfectNumber(int num) {
int sum = 0;
for (int i = 1; i < num; i++) {
if (num % i == 0) {
sum += i;
}
}
return sum == num;
}
void findPerfectNumbers(int limit) {
for (int i = 2; i <= limit; i++) {
if (isPerfectNumber(i)) {
cout << "完全数: " << i << endl;
}
}
}
int main() {
int maxLimit = 1000;
findPerfectNumbers(maxLimit);
return 0;
}
```
运行此程序,它将输出1000以内所有的完全数。
阅读全文