21xrx.com
2025-03-21 09:07:51 Friday
文章检索 我的文章 写文章
C语言中的完数及其计算方法
2023-06-18 13:03:50 深夜i     11     0
C语言 完数 因子 循环 函数

完数是指一个正整数等于所有它的因子(除了它本身)之和,比如6就是一个完数,因为6的因子有1、2、3,而1+2+3=6。在C语言中,我们可以用简单的代码来计算一个数是否为完数。

首先,我们需要输入一个需要判断的数n,然后设一个变量sum来存储这个数的因子和,初始值为0。接下来,我们用for循环来遍历1到n-1之间的所有数,判断这些数是否为n的因子,如果是,就将它加到sum中。最后判断sum是否等于n,如果是,则n就是一个完数。

下面是C语言计算完数的代码:

#include 
int main() {
  int n, sum = 0;
  printf("请输入一个正整数:");
  scanf("%d", &n);
  for (int i = 1; i < n; i++) {
    if (n % i == 0) {
      sum += i;
    }
  }
  if (sum == n) {
    printf("%d是一个完数", n);
  } else {
    printf("%d不是一个完数", n);
  }
  return 0;
}

通过这段代码,我们可以计算出任意正整数是否为完数。除此之外,我们还可以使用C语言的函数来实现完数的计算,例如下面这个函数:

int isPerfect(int n) {
  int sum = 0;
  for (int i = 1; i < n; i++) {
    if (n % i == 0) {
      sum += i;
    }
  }
  if (sum == n)
    return 1;
   else
    return 0;
  
}

这个函数接受一个整数n作为参数,返回值为1表示n是一个完数,返回值为0表示n不是一个完数。

  
  

评论区

请求出错了