21xrx.com
2024-11-22 09:41:54 Friday
登录
文章检索 我的文章 写文章
用C语言求1000以内的完数及其表达
2023-06-15 15:17:29 深夜i     --     --
C语言 完数 因子 循环 输出

完数,又称完全数,是一种特殊的自然数,其所有因子(包括1但不包括本身)之和等于它本身。例如,6是第一个完数,因为6的所有因子(除了6本身)是1、2、3,并且1+2+3=6。

本文介绍如何使用C语言编写程序来计算1000以内的完数,并输出其表达。

程序的实现思路如下:

1. 从1开始遍历自然数,判断每个数是否是完数;

2. 对于每个自然数,找出它的所有因子,并计算它们的和;

3. 如果和等于这个数本身,则输出这个数及其表达式。

以下是程序的具体实现:


#include

int main()

{

  int i, j, sum;

  printf("1000以内的完数有:\n");

  for (i = 1; i <= 1000; i++) {

    sum = 0;

    for (j = 1; j < i; j++) {

      if (i % j == 0) {

        sum += j;

      }

    }

    if (sum == i) {

      printf("%d = 1", i);

      for (j = 2; j < i; j++) {

        if (i % j == 0) {

          printf(" + %d", j);

        }

      }

      printf("\n");

    }

  }

  return 0;

}

运行程序,输出结果如下:

text

1000以内的完数有:

6 = 1 + 2 + 3

28 = 1 + 2 + 4 + 7 + 14

496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复