21xrx.com
2024-09-17 04:26:51 Tuesday
登录
文章检索 我的文章 写文章
C语言求亲密数 - 实现算法详解
2023-06-15 20:19:54 深夜i     --     --
C语言 亲密数 因数和

亲密数是指两个数中,每个数的因数之和(不包括本身)都等于另一个数的数。比如220和284就是一对亲密数,其中220的因数为1、2、4、5、10、11、20、22、44、55、和110,和为284;而284的因数为1、2、4、71、和142,和为220。

在C语言中,我们可以通过一些算法来求出一个数的亲密数。首先,我们需要判断输入的数是否是亲密数,这个可以通过计算因数和来实现。对于每个数,我们需要计算它所有因数的和,并且可以把这个结果存储在一个数组中,以便后面的计算。

接下来,我们需要进行两次计算,分别计算输入数和它的因数和的因数和。如果它们相等,就说明这个数是亲密数。

下面是C语言的实现代码:


#include

int sum_factor(int n){

  int sum=0;

  for(int i=1;i<=n/2;i++){

    if(n%i==0){

      sum+=i;

    }

  }

  return sum;

}

int main(){

  int n,m;

  scanf("%d",&n);

  m=sum_factor(n);

  if(sum_factor(m)==n&&m!=n){

    printf("%d和%d是一对亲密数\n",n,m);

  }else{

    printf("%d不是亲密数\n",n);

  }

  return 0;

}

在这个程序中,我们首先定义了一个函数,来计算输入数的因数和。然后在主函数中,我们输入一个数n,计算它的因数和m,并且判断它是否是亲密数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章