View Code of Problem 93

#include <stdio.h>
#include <stdlib.h>

/* 从小到大输出两个正整数m和n(m≥6,n≤5000)之间的亲密数对。
说明:若a和b为一对亲密数,则a的因子和等于b,b的因子和等于a,且a不等于b。例如,220与284是一对亲密数。 */

int main() {
	int m,n,i,j;
	
	scanf("%d %d",&m,&n);
	int a[10000];
	for(i=m;i<=n;i++){
		a[i]=0;
		for(j=1;j<=i/2;j++){
			if(i%j==0){
				a[i]=a[i]+j;
			}
	}
	} 
	for(i=m;i<=n;i++){
		for(j=i+1;j<=n;j++){
			if((a[i]==j) && (a[j]==i) && i!=j){
				printf("%d %d\n",i,j);
			}
		}
	}
	
}

Double click to view unformatted code.


Back to problem 93