View Code of Problem 93

#include <stdio.h>
#include <math.h>
main(){
	int i,j,m,n,k;
	scanf("%d%d",&m,&n);
	for(i = m;i<=n;i++){
		int sum = 1,sum1 =1;
		k = (int)sqrt(i);
		for(j = 2;j<=k;j++){
			if(i%j == 0){
				if(j == i/j)
					sum+=j;
				else
					sum+=j+i/j;
			}
		}
		if(sum<=n){
			k = (int)sqrt(sum);
			for(j = 2;j<=k;j++){
				if(sum%j==0){
					if(j == sum/j)
						sum1+=j;
					else
						sum1+=j+sum/j;
				}
			}
		}
		if(sum1 == i && sum != i){
			if(i < sum)
				printf("%d %d\n",i,sum);
		}
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 93