代码高亮
1234567891011121314151617
#include<stdio.h>int main(){ int a,i,b,n; printf("3000以内的亲密数:\n"); for(a=1;a<3000;a++) /*穷举3000以内的全部整数*/ { for(b=0,i=1;i<=a/2;i++) //求出a的各因子,各因子之和存放于b if(!(a%i)) b+=i; for(n=0,i=1;i<=b/2;i++) //直接利用b,将b的各因子之和存于n if(!(b%i)) n+=i; if(n==a&&a<b) //若b的因子之和n=a,且a<b(防止重复,a和b的位置交换),则a和b是一对亲密数 printf("%d和%d是一对亲密数!\n",a,b); }}