当前位置:首页python > 正文

Python求最大公约数

作者:野牛程序员:2023-07-25 11:49:53python阅读 2538

要在Python中求最大公约数,可以使用两种常见的方法:欧几里德算法和辗转相除法。这里将展示这两种方法的实现。

方法一:欧几里德算法(也称为辗转相减法)

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

方法二:辗转相除法(也称为欧几里德除法)

def recursive_gcd(a, b):
    if b == 0:
        return a
    return recursive_gcd(b, a % b)

使用这两种方法都可以求得最大公约数。以下是一个示例:

num1 = 48
num2 = 18

# 使用欧几里德算法求最大公约数
result_euclidean = euclidean_gcd(num1, num2)
print(f"最大公约数(欧几里德算法):{result_euclidean}")

# 使用辗转相除法求最大公约数
result_recursive = recursive_gcd(num1, num2)
print(f"最大公约数(辗转相除法):{result_recursive}")

无论选择哪种方法,都可以得到相同的结果。欧几里德算法和辗转相除法都是高效且经典的求最大公约数的方法。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击