酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

所谓亲和数对,是指两个不同的自然数,其中任何一个数的真因数之和都恰好等于另一个数。例如:220 和 284 就是一对亲和数对。 220 的全部真因数包括:1、2、4、5、10、11、20、22、44、55、110, 它们的和恰为 284; 284 的全部真因数包括:1、2、4、71、142,它们的和也恰好为 220。 据说,两个好朋友佩带写有亲和数对的护身符可使两人保持良好的友谊。 请编写程序,输入区间的下限和上限,若该区间内存在亲和数对,则输出区间内的全部亲和数对,否则输出 none。 输入格式: 两个正整数 a 和 b,且 a ≤ b ≤ 100000000,即区间 [a, b] 的下限和上限 输出格式: 若存在亲和数对,则输出若干行,每行一个亲和数对,均在区间 [a, b] 内,且前者小于后者,两者以空格间隔;否则输出 none。 用c语言

```c #include <stdio.h> // 计算一个数的真因数之和 int sumOfDivisors(int num) { int sum = 1; for (int i = 2; i * i <= num; i++) { if (num % i == 0) { sum += i; if (i * i!= num) { sum += num / i; } } } return sum; } int main() { int a, b; scanf("%d %d", &a, &b); int found = 0; for (int num1 = a; num1 <= b; num1++) { int num2 = sumOfDivisors(num1); if (num2 > num1 && num2 <= b && sumOfDivisors(num2) == num1) { printf("%d %d\n", num1, num2); found = 1; } } if (!found) { printf("none"); } return 0; } ``` [2024-11-18 21:26:17 | AI写代码神器 | 258点数解答]

相关提问