View Code of Problem 93

//先求m-n里面每个数的因子之和放在数组a[i]里面
//然后对比哪个数的因子之和等于另一个数 另一个数的因子之和等于那个数 

#include <stdio.h>
void main()
{
	int i,j,m,n; 
	int a[10000];          //数组a[]的下标代表m-n中的数 而数组中的值代表对应下标数的因子之和
	scanf("%d%d",&m,&n);
	for(i=m;i<=n;i++)     //将i的因子之和赋值给a[i] 
	{
		a[i]=0;
		for(j=1;j<i;j++)
		{
			if(i%j==0)
			a[i]=a[i]+j;
		}
	}
	for(i=m;i<=n;i++)
	{
		for(j=i+1;j<=n;j++)
		{
			if(i==a[j]&&a[i]==j)
			{
				printf("%d %d\n",i,j);
			}
		}
	}
}

Double click to view unformatted code.


Back to problem 93