在Python中计算两个数的公因数个数的程序
假设我们有两个数字a和b。我们必须找出有多少个正整数是a和b的约数。
因此,如果输入是a = 288 b = 240,则输出将为10,因为公因数为[1,2,3,4,6,8,12,16,24,48]。
为了解决这个问题,我们将遵循以下步骤 −
- res := 0
- 对于范围在1到gcd(a,b)+1的i进行迭代,做以下操作
- 如果(a mod i)为0并且(b mod i)为0,则
- res := res + 1
- 如果(a mod i)为0并且(b mod i)为0,则
- 返回res
示例
让我们看看以下实现以更好地理解 −
from math import gcd
def solve(a, b):
res = 0
for i in range(1, gcd(a,b)+1):
if (a % i) == 0 and (b % i) == 0:
res += 1
return res
a,b = 288,240
print(solve(a,b))
输入
288, 240
输出
10