C语言 亲密数
wangyanhpa:
#include <stdio.h>
int main()
{
int a,b,i,s;
printf("10000以内的亲密数:\n");
for(a=1;a<10000;a++)
{
b=1;
for(i=2;i<a;i++)
if(a%i==0)
b=b+i;
s=1;
for(i=2;i<b;i++)
if(b%i==0)
s=s+i;
if(s==a && a<b)
printf("%d\t%d\n",a,b);
}
printf("\n");
return 0;
}
【回复】我也想问,因该是搞错了
【回复】为什么是s==a 而不是 s==b?
【回复】回复 @超神的白猫 : a从1到9999循环
b为计算的a的因子之和
再求b的因子之和s,判断s是否与a相等,如果相等则为亲密数
C语言 亲密数