M29918: 求亲和数
implementation, http://cs101.openjudge.cn/practice/29918/
cpp
#include<bits/stdc++.h>
using namespace std;
int n,a[100005];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
for(int j=2;j<=n/i;j++)
a[i*j]+=i;
}
for(int i=1;i<=n;i++){
if(a[i]<=n && a[a[i]]==i && i<a[i])
printf("%d %d\n",i,a[i]);
}
return 0;
}