当前位置:首页 C++ > 正文

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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击