从小到大输出两个正整数m和n(m≥6,n≤5000)之间的亲密数对。说明:若a和b为一对亲密数,则a的因子和等于b,b的因子和等于a,且a不等于b。例如,220与284是一对亲密数。一个数的因子,即能被它整除的数,包含1,不包含它本身。
Input:
m n
Output:
按照从小到大的次序每行输出一对亲密数
Sample Input:
100 2000
#include <stdio.h>
void main()
{
int i,j,m,n,a[10000];
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
a[i]=0;
for(j=1;j<=i/2;j++)
{
if(i%j==0)
a[i]+=j;
}
}
for(i=m;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
if(a[i]==j && a[j]==i)
{
printf("%d %d\n",i,j);
}
}
}
}
2、
#include <stdio.h>
int qinmi(int n)
{
int i,sum=0;
for(i=1;i<=n/2;i++)
{
if(n%i==0)
sum+=i;
}
return sum;
}
void main()
{
int m,n,a,b,t;
scanf("%d%d",&m,&n);
for(a=m;a<=n;a++)
{
b=qinmi(a);
t=qinmi(b);
if(b>a && a==t)
printf("%d %d\n",a,b);
}
}
原文:https://www.cnblogs.com/Zhuohome/p/12849387.html