21xrx.com
2024-09-17 03:45:28 Tuesday
登录
文章检索 我的文章 写文章
如何用C语言编写求完数的函数
2023-06-15 20:37:48 深夜i     --     --
完数 真因子 遍历 函数 C语言

在数学中,完数(又称完全数)是指一个正整数,它的所有真因子(即除了本身以外的约数)的和等于它本身。例如,6是一个完数,因为6的所有真因子1、2、3的和为6。

在C语言中,我们可以设计一个函数来判断一个数是否为完数。首先,我们可以遍历该数的所有真因子,并把它们的和与该数进行比较。如果相等,则该数为完数,否则不是。

代码如下:


#include

int isPerfectNumber(int n) {

  int sum = 0; 

  for (int i = 1; i < n; i++) { // 遍历n的所有真因子

    if (n % i == 0)

      sum += i; // 如果i是n的真因子,则加入到sum中

  }

  // 如果sum等于n,则n为完数,返回1,否则返回0

  return sum == n ? 1 : 0; 

}

int main() {

  int n;

  printf("请输入一个正整数:");

  scanf("%d", &n);

  if (isPerfectNumber(n))

    printf("%d是完数", n);

  else

    printf("%d不是完数", n);

  return 0;

}

  
  

评论区

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