21xrx.com
2024-09-20 05:50:38 Friday
登录
文章检索 我的文章 写文章
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语言、完数、因子、累加器、循环

  
  

评论区

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