亲密数

求具有下列性质的数

 1000(ms)

 65535(kb)

 2005 / 3233

如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求n(220<=n<=10000)以内的全部亲密数。

输入

n,表示最大范围

输出

所有的数,每行一组亲密数,用一个空格隔开

样例输入

1000

样例输出

220 284

全部因子就是公因数,这个求很容易。

但这道题很多人会遇到一个问题,就是每组亲密数可能会出现两次甚至没有在相邻位置上。

当时我做的时候搜遍了百度也没看到有解决这个问题相关的代码,就自己写了个很复杂的,如果你们能想出更好的就用更好的,我这个代码实在太长太笨,仅供参考

上代码~

亲密数