21xrx.com
2024-09-20 05:26:42 Friday
登录
文章检索 我的文章 写文章
如何用C语言求1000以内的完数
2023-06-16 22:18:51 深夜i     --     --
C语言 完数 因子 循环 判断 计算

完数,也叫完全数,是指一个整数等于除它本身外的所有因子之和。比如6就是一个完数,因为1+2+3=6。那么,如何用C语言求1000以内的所有完数呢?

首先,需要明确一点,1000以内的完数并不多,只有4个:6、28、496和8128。因此,我们可以使用循环依次判断每个数是否为完数。

具体实现如下:


#include

int main() {

  int i, j, sum;

  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 ", i);

    }

  }

  return 0;

}

这段代码中,外层循环遍历所有数,内层循环计算每个数的因子之和,如果因子之和等于这个数本身,就说明这个数是完数。

生成的

  
  

评论区

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