C语言实现完数判断 - 找出2到1000之间的所有完数

一个正整数如果恰好等于它的因子(不包括自己)之和,则称该数为完数。如6的因子为1、2、3,且6=1+2+3,因此6是一个完数。

本篇文章将使用 C 语言代码实现完数的判断,并找出 2 到 1000 之间的所有完数。

代码实现

#include <stdio.h>

int main() {
    for (int i = 2; i <= 1000; i++) {
        int sum = 0;
        for (int j = 1; j <= i / 2; j++) {
            if (i % j == 0) {
                sum += j;
            }
        }
        if (sum == i) {
            printf('%d
', i);
        }
    }
    return 0;
}

代码解释

  1. 使用外层循环从2到1000遍历每个数。
  2. 在内层循环中,从1到i的一半(i/2)遍历每个数,判断是否为i的因子。如果i能被j整除(即i % j == 0),则将j加到sum上。
  3. 在内层循环结束后,判断sum是否等于i,如果相等,则i是完数,使用printf函数输出i的值。
  4. 外层循环继续,遍历下一个数。
  5. 程序结束。

示例输出结果

6
28
496

总结

本文介绍了使用 C 语言代码判断完数并输出2到1000之间的所有完数的方法。希望本文能够帮助您理解完数的概念以及如何使用编程语言实现完数的判断。

C语言实现完数判断 - 找出2到1000之间的所有完数

原文地址: https://www.cveoy.top/t/topic/L82 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录