21xrx.com
2024-12-27 20:19:03 Friday
登录
文章检索 我的文章 写文章
C语言编程实现求解1000以内的完数及其因子
2023-06-18 07:08:55 深夜i     --     --
C语言编程 完数 因子 循环遍历 累加和 判断

完数,又称为完全数,是指一个数等于其所有因子之和,且不包括它本身。比如说6就是一个完数,因为6的因子为1、2、3,且1+2+3=6。那么问题来了,如何用C语言编程求解1000以内的完数及其因子呢?

首先,我们需要了解一个数的因子是什么。因子就是能够整除这个数的所有正整数,例如6的因子为1、2、3、6。在程序设计中,我们可以用循环遍历每个数,获取它的所有因子,并对它们求和,判断是否为完数。具体代码如下:


#include

int main() {

  int i, j, sum;

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

    sum = 0; // 初始化累加和为0

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

      if (i % j == 0) {

        sum += j; // 累加因子

      }

    }

    if (sum == i) {

      printf("%d是一个完数,它的因子为:", i);

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

        if (i % j == 0) {

          printf("%d ", j); // 输出因子

        }

      }

      printf("\n");

    }

  }

  return 0;

}

程序中,我们定义了两个循环变量i和j,分别用于遍历每个数和获取它的因子。sum用于累加因子的和,判断该数是否为完数。如果是完数,我们会输出它的因子。

  
  

评论区

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