求500以内的所有亲密数对
若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数。例如,6的因子之和为1+2+3=6,因此6与6为一对亲密数(即6自身构成一对亲密数);又如,220的因子之和为l+2+4+5+10+11+20+22+44+55+110=284,而284的因子之和为1+2+4+71+142—220,因此,220与284为一对亲密数。
#include<stdio.h>
#include<conio.h>
int facsum(int m)
{
int sum=1,f;
for(f=2;f<=m/2;f++)
if(m%f==0)sum=sum+f;
return sum;
}
void main()
{
int m=3,n,k,l;
printf("The chummy numbers is:\n");
for(m=3;m<=500;m++)
{
n=facsum(m);
k=facsum(n);
if(m==k)
if(m<=n)
printf("%d and %d\n",m,n);
}
getch();
}
#include<conio.h>
int facsum(int m)
{
int sum=1,f;
for(f=2;f<=m/2;f++)
if(m%f==0)sum=sum+f;
return sum;
}
void main()
{
int m=3,n,k,l;
printf("The chummy numbers is:\n");
for(m=3;m<=500;m++)
{
n=facsum(m);
k=facsum(n);
if(m==k)
if(m<=n)
printf("%d and %d\n",m,n);
}
getch();
}