c语言求亲密树对

付费节点推荐


免费节点


节点使用教程


[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 ;
}

 

未经允许不得转载:Bcoder资源网 » c语言求亲密树对

相关推荐

赞 (0)
分享到:更多 ()