Python3 编写程序统计满足条件的整数对数量
首先,我们可以根据最大公约数和最小公倍数的关系进行推导。
设 a 和 b 的最大公约数为 x,最小公倍数为 y,那么有以下关系: a = x * m b = x * n 其中 m 和 n 是互素的。
最小公倍数 y 可以表示为: y = x * m * n
我们可以把 y 表示为两个数的乘积,其中一个数是 m,另一个数是 n。由于 m 和 n 是互素的,所以 y 的因数只能来自于 x 的因数。
因此,我们可以找出 x 的所有因数,然后对于每个因数 d,计算出 m 和 n 的值。如果 m 和 n 的乘积等于 y,那么就满足条件。
具体实现如下:
def count_pairs(x, y):
# 计算 x 的所有因数
factors = []
for i in range(1, x+1):
if x % i == 0:
factors.append(i)
# 对于每个因数 d,计算 m 和 n 的值,并判断 m*n 是否等于 y
count = 0
for d in factors:
if y % d == 0:
m = d
n = y // d
if m * n == y:
count += 1
return count
# 输入两个正整数 x 和 y
x, y = map(int, input().split())
# 输出满足条件的整数对的总数
print(count_pairs(x, y))
这样,我们就可以根据输入的 x 和 y 计算出满足条件的整数对的总数了。
原文地址: https://www.cveoy.top/t/topic/qc5K 著作权归作者所有。请勿转载和采集!