21xrx.com
2025-04-03 00:09:32 Thursday
文章检索 我的文章 写文章
完全数C语言程序编写递归法
2023-06-15 19:28:28 深夜i     26     0
完全数 C语言 递归法 因子 判断

完全数是指一个数恰好等于它的因子(不包括本身)之和,例如6=1+2+3,28=1+2+4+7+14。编写一个C语言程序来判断一个数是否为完全数,其中采用递归法实现。

首先,定义一个函数isPerfectNumber(),参数为int型的数n,返回值为bool类型,用来判断n是否为完全数。在函数内部,采用递归的方式计算n的因子之和sum,从1到n-1遍历每个可能的因子i,如果i是n的因子,则将i加入sum中,最后判断sum是否等于n,若相等则返回true,否则返回false。

以下是完全数C语言程序编写递归法的代码实现:

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

  
  

评论区