21xrx.com
2025-03-25 19:26:06 Tuesday
文章检索 我的文章 写文章
C语言程序:生成1000以内完数
2023-06-15 18:15:12 深夜i     16     0
完数 C语言 嵌套循环 因子 输出结果

完数指一个数的各因子之和等于该数本身,比如6是完数,因为6=1+2+3。那么如何在C语言中生成1000以内的完数呢?

我们可以用嵌套循环来实现,首先外层循环遍历1到1000的每个数,内层循环遍历该数的每个因子,将因子相加,如果和等于该数本身,则输出该数。

下面是完整的C语言程序代码:

#include 
int main()
{
  int num, i, sum;
  for(num = 1; num <= 1000; num++)
  {
    sum = 0;
    for(i = 1; i < num; i++)
    {
      if(num % i == 0)
      {
        sum += i;
      }
    }
    if(sum == num)
    {
      printf("%d ", num);
    }
  }
  return 0;
}

程序输出结果为:6 28 496

可以看到,程序正确地生成了1000以内的完数。

  
  

评论区