3696: 友好数对
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:42
解决:19
题目描述
友好数对(Amicable Pair)是一对不同的正整数 (a, b),满足以下条件:
a 的所有真因子(即除了自身以外的正因子)之和等于 b;
b 的所有真因子之和等于 a;
且 a ≠ b。
例如:
220 的真因子有:1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110,它们的和为 284;
284 的真因子有:1, 2, 4, 71, 142,它们的和为 220;
因此 (220, 284) 是一对友好数。
本题要求找出不超过给定上限 n 的所有友好数对。
a 的所有真因子(即除了自身以外的正因子)之和等于 b;
b 的所有真因子之和等于 a;
且 a ≠ b。
例如:
220 的真因子有:1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110,它们的和为 284;
284 的真因子有:1, 2, 4, 71, 142,它们的和为 220;
因此 (220, 284) 是一对友好数。
本题要求找出不超过给定上限 n 的所有友好数对。
输入
输入仅包含一行,一个正整数 n(1 ≤ n ≤ 2000)。
输出
按 a 从小到大的顺序,输出所有满足 a < b ≤ n 的友好数对,每对占一行,格式为:
样例输入 复制
300
样例输出 复制
220 284