21xrx.com
2025-03-21 06:47:35 Friday
文章检索 我的文章 写文章
使用C语言求解1000以内的完数
2023-06-15 08:12:52 深夜i     14     0
- C语言 - 完数 - 循环 - 因数 - 插入排序

完数是指一个正整数等于它的因数(包括1,不包括本身)之和,例如6就是一个完数,因为6=1+2+3。

如果要用C语言来求1000以内的完数,可以先从1开始循环到1000,对于每一个数,都需要计算其因数之和,最后判断该数是否等于其因数之和,如果相等,则该数就是一个完数。

在C语言中,我们可以用一个for循环来遍历1到1000,对于每一个数,使用另一个for循环来计算其因数之和。如果在计算时发现该数是一个因数,则将其加入到一个累加器中,最终判断这个累加器是否等于该数本身即可。

下面是代码实现:

#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;
}

使用关键词:

- C语言

- 完数

- 循环

- 因数

- 插入排序

  
  

评论区