c++输出1000以内的所有完数
作者:野牛程序员:2023-08-17 11:23:32 C++阅读 3230
完数是指一个正整数,它的所有真因子(除了它本身)的和等于它本身。以下是一个 C++ 示例代码,用于输出1000以内的所有完数:
#include <iostream> int main() { for (int num = 2; num <= 1000; num++) { int sum = 1; // 初始化为1,因为1也是所有正整数的因子 for (int i = 2; i <= num / 2; i++) { if (num % i == 0) { sum += i; } } if (sum == num) { std::cout << num << " 是一个完数" << std::endl; } } return 0; }
在上述代码中,使用两个嵌套的循环来遍历1000以内的每个数字。对于每个数字,计算它的所有真因子的和,然后检查和是否等于数字本身。如果等于,那么这个数字就是一个完数,将其输出。
请注意,上述代码假设输入是一个正整数。在计算真因子和时,循环只需遍历数字的一半。这是因为一个数的最大真因子不会超过它的一半。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
