#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.