View Code of Problem 93

#include "stdio.h"
#include "math.h"
#include "string.h"

void main()
{
	int i,j,k;
	int a,b;
	int flag;
	int sum,sum1;
	int s[1000]={0};
	s[0]=1;s[1]=1;
	scanf("%d%d",&a,&b);
	for(k=0,i=a;i<=b;i++)
	{
		sum=0;
		for(j=1;j<i;j++)
		{
			if(i%j==0)
				sum=sum+j;
		}
		//printf("%d",sum);			i的因子和sum
		sum1=0;
		for(j=1;j<sum;j++)
		{
			if(sum%j==0)
				sum1=sum1+j;
		}
		//printf("%d",sum1);	sum的因子和sum1
		if(sum1==i&&i!=sum)
		{
			flag=0;
			for(j=0;j<k;j++)
			{
				if(i==s[j]||sum==s[j])
				{flag=1;break;}
			}
			if(flag==0)
			{
				s[k]=i;s[k+1]=sum;k=k+2;
			}
		}
	}
	for(i=0;s[i]!=0;i=i+2)
		printf("%d %d\n",s[i],s[i+1]);

} 

Double click to view unformatted code.


Back to problem 93