21xrx.com
2025-03-23 17:02:46 Sunday
文章检索 我的文章 写文章
C语言实现求1000以内的完数
2023-06-18 05:52:24 深夜i     --     --
C语言 完数 因子 累加器 循环

完数,即因子之和等于该数本身的自然数,如6=1+2+3,28=1+2+4+7+14。在1000以内的正整数中,有几个完数呢?下面给出C语言实现。

代码实现

#include
int main()
{
  int i,j,s;
  printf("1000以内的完数有:\n");
  for(i=1;i<=1000;i++)
  {
    s=0;
    for(j=1;j
    {
      if(i%j==0)
      {
        s+=j;
      }
    }
    if(s==i)
    {
      printf("%d ",i);
    }
  }
  printf("\n");
  return 0;
}

分析说明

首先,定义变量i和j,i代表要求解的完数的范围,j代表因子。

然后,使用一个for循环遍历1000以内的所有正整数,将累加器s置为0。

接着,使用一个内嵌的for循环遍历每个i的因子,如果i被j整除,则将j加入累加器s中。

最后,判断s是否等于i,如果相等,则说明i是完数。

如果i是完数,就将其输出。

关键词

C语言、完数、因子、累加器、循环

  
  

评论区