求具有下列性质的数
1000(ms)
65535(kb)
2005 / 3233
如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求n(220<=n<=10000)以内的全部亲密数。
输入
n,表示最大范围
输出
所有的数,每行一组亲密数,用一个空格隔开
样例输入
1000
样例输出
220 284
全部因子就是公因数,这个求很容易。
但这道题很多人会遇到一个问题,就是每组亲密数可能会出现两次甚至没有在相邻位置上。
当时我做的时候搜遍了百度也没看到有解决这个问题相关的代码,就自己写了个很复杂的,如果你们能想出更好的就用更好的,我这个代码实在太长太笨,仅供参考
上代码~