21xrx.com
2024-09-17 04:17:59 Tuesday
登录
文章检索 我的文章 写文章
C语言求解1000以内所有完全数
2023-06-15 20:14:49 深夜i     --     --
C语言 完全数 因子 循环结构 数组

完全数是指一个数的因子(不包括本身)之和等于它本身的数,例如6是一个完全数,因为1、2、3都是6的因数,而1+2+3=6。

要使用C语言来找到1000以内所有的完全数,需要用循环结构来遍历每个数,并找到他们的因子。通过计算因子的和,然后将它们与当前的数字进行比较,就能够判断该数字是否是完全数。

为了尽量减少计算量,可以只遍历1到500之间的数字,因为1000以内的数字中最大的完全数就是496。此外,使用一个数组来存储所有的完全数,便于后续的输出。

下面是一个C语言的实现方式:


#include

int main()

{

  int i,j,sum;

  int perfect[20]; //存放完全数

  int count=0; //完全数的个数

  for(i=1;i<=500;i++) //遍历1到500之间的数字

  {

    sum=0;

    for(j=1;j

    {

      if(i%j==0) //判断是否为因子

      {

        sum+=j; //计算因子和

      }

    }

    if(sum==i) //判断是否为完全数

    {

      perfect[count++]=i; //存入数组中

    }

  }

  printf("1000以内的完全数有:");

  for(i=0;i

  {

    printf("%d ",perfect[i]);

  }

  return 0;

}

  
  

评论区

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