python如何判断两个数互质

python如何判断两个数互质

作者:Elara发布时间:2026-01-13阅读时长:0 分钟阅读次数:11

用户关注问题

Q
如何在Python中检测两个数是否没有公因数?

我想写一个Python程序来判断两个数之间是否没有共同的因数,应该怎么做?

A

使用Python判断两个数是否互质的方法

可以使用Python的math模块中的gcd函数来计算两个数的最大公约数。如果结果是1,说明两个数没有共同的因数,即它们是互质的。代码示例:

import math

a = 15
b = 28
if math.gcd(a, b) == 1:
    print('两个数是互质的')
else:
    print('两个数不是互质的')
Q
如何用Python代码快速判断两个整数是否互质?

有没有简单的方法用Python写程序判断两个整数是否互质?

A

快速判断两个整数互质的Python代码示例

可以用Python内置的math.gcd函数计算两个数的最大公约数。如果返回值为1,说明两个数互质。以下是示例代码:

import math

num1 = 17
num2 = 20

def are_coprime(x, y):
    return math.gcd(x, y) == 1

if are_coprime(num1, num2):
    print('互质')
else:
    print('不互质')
Q
除了使用math库外,如何手写函数判断两个数是否互质?

有没有不依赖Python内置库而判断两个数互质的算法可以分享?

A

自定义函数实现判断两个数互质

可以手写欧几里得算法实现最大公约数计算,从而判断两个数是否互质。只要最大公约数是1,则两个数互质。示例代码如下:

def gcd(a, b):
    while b != 0:
        a, b = b, a % b
    return a

def are_coprime(x, y):
    return gcd(x, y) == 1

print(are_coprime(21, 22))  # 输出 True
print(are_coprime(21, 14))  # 输出 False