21xrx.com
2024-12-23 00:16:14 Monday
登录
文章检索 我的文章 写文章
C语言实现一千以内的完数
2023-06-15 20:56:39 深夜i     --     --
C语言 完数 因子和 循环 判断 输出

在数学中,完全数是指一个数恰好等于除它本身外的正因子之和。例如,6是完全数,因为6=1+2+3。本篇文章将介绍如何使用C语言来计算一千以内的所有完数。

首先,我们需要明确如何计算一个数的因子和。我们可以使用循环来找到一个数的所有因子,然后求和。下面是一个示例代码:


int sumOfFactors(int n){

  int sum = 0;

  for(int i=1; i

    if(n%i==0){

      sum += i;

    }

  }

  return sum;

}

接下来,我们可以使用上述代码来判断一个数是否为完数。如果一个数的因子和等于它本身,那么它就是完数。下面是判断一个数是否为完数的代码:


bool isPerfect(int n){

  return sumOfFactors(n) == n;

}

最后,我们可以使用一个循环来计算一千以内的所有完数,并输出它们。下面是完整代码:


#include

#include

int sumOfFactors(int n){

  int sum = 0;

  for(int i=1; i

    if(n%i==0){

      sum += i;

    }

  }

  return sum;

}

bool isPerfect(int n){

  return sumOfFactors(n) == n;

}

int main(){

  printf("一千以内的完数有:\n");

  for(int i=1; i<=1000; i++){

    if(isPerfect(i)){

      printf("%d ", i);

    }

  }

  printf("\n");

  return 0;

}

运行结果如下:


一千以内的完数有:

6 28 496

由此可知,一千以内的完数只有6、28和496三个。

  
  

评论区

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