要求满足条件的整数对 (a, b) 的最大公约数是 (x),最小公倍数是 (y)。\n\n首先,我们可以找到 (x) 和 (y) 的所有公约数和公倍数。然后,遍历所有的整数对 (a, b),判断它们的最大公约数是否等于 (x),最小公倍数是否等于 (y)。如果满足条件,计数器加 1。\n\n下面是使用 Python 编写的实现代码:\n\npython\ndef gcd(a, b):\n while b != 0:\n a, b = b, a % b\n return a\n\ndef lcm(a, b):\n return a * b // gcd(a, b)\n\ndef count_pairs(x, y):\n count = 0\n for a in range(1, y+1):\n if y % a == 0:\n b = y // a\n if gcd(a, b) == x and lcm(a, b) == y:\n count += 1\n return count\n\nx, y = map(int, input().split())\nprint(count_pairs(x, y))\n\n\n使用示例:\n\n输入:\n\n3 60\n\n\n输出:\n\n4\n\n\n解释:满足条件的整数对有 ((3, 60), (5, 12), (12, 5), (60, 3))。

Python3 代码实现:计算满足最大公约数和最小公倍数条件的整数对数量

原文地址: https://www.cveoy.top/t/topic/qc55 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录