View Code of Problem 93

#include<iostream>
#include<string.h>
#include<queue>
using namespace std;


int factorSum(int x){
	int sum = 0;
	for(int i=1; i<=x/2; i++){
		if(x%i == 0){
			sum += i;
		}
	}
	return sum;
}

int table[5000];
int visited[5000];

int main(){
	memset(table,-1,sizeof(table));
	int m,n;
	cin >> m >> n;
	for(int i=m; i<=n; i++){
		table[i] = factorSum(i);
	}
	for(int i=m; i<=n; i++){
		if(i == table[table[i]] && table[i] != i && visited[i] != 1){
			cout << i << " " << table[i] << endl;
			visited[i] = visited[table[i]] = 1;
		}
	}
}

Double click to view unformatted code.


Back to problem 93