当前位置:K88软件开发文章中心编程语言C/C++C/C++01 → 文章内容

c语言求亲密树对

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-4 7:48:47

-->

[t]亲密数:满足整数A的因子(包括1,不包括自身)之和a1等于B,且B的因子(包括1,不包括自身)之和b1等于A,且A不等于B[/t]

#include <stdio.h>
void qms(long m);? //计算亲密数函数

int main()
{
long m;
printf(“输入最大范围: “);
scanf(“%ld”,&m);
qms(m);

return 0;

}

void qms(long m)
{

long i,j,a,b,a1,b1;

//? i,j? 遍历参数
//? a,b? 表示整数A,B
// a1,b1? 表示A和B的因子之和

printf(“亲密数:\n”);
for(a=6;a<m;a++) //遍历6~m之间所有数,因为最小的亲密数为6
{

a1=0;?? //每次初始化a1,b1为0
b1=0;
for(i=1;i<a/2+1;i++)
{
if(a%i==0)
a1+=i;? //a1统计a的因子之和

}

b=a1;? //将a的因子之和赋给b
for(j=1;j<b/2+1;j++)
{
if(b%j==0)

b1+=j;??? //b1统计b的因子之和
}

if(b1==a&&a<b) //满足b的因子之和b1等于a,则输出a和b,a!=b ,并且为了消除重复,让a<b
printf(“%ld—-%ld\n”,a,b);
}
printf(“计算完成\n”);

return ;
}

?


c语言求亲密树对