21xrx.com
2024-11-22 12:21:50 Friday
登录
文章检索 我的文章 写文章
完全数C语言程序编写递归法
2023-06-15 19:28:28 深夜i     --     --
完全数 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;

}

  
  

评论区

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