如果a的所有正因子和等于b,b的所有正因子和等于a,因子包括1但不包括本身,且a不等于b,则称a,b为亲密数对
1 #include <stdio.h> 2 3 //获得n的各个因子之和 4 int getSum(int n); 5 6 int main(int argc, char *argv[]) 7 { 8 int i; 9 int a,b; 10 for(i=2;i<=3000;i++){ 11 a=i; 12 b=getSum(a); 13 if(a==getSum(b) && a<b){ 14 printf("%d %d ",a,b); 15 } 16 } 17 return 0; 18 } 19 20 int getSum(int n){ 21 int sum=0; 22 int i; 23 for(i=1;i<n;i++){ 24 if(n%i == 0) sum=sum+i; 25 } 26 return sum; 27 }
输出:
220 284
1184 1210
2620 2924