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
- 上一篇:python将字符串转换为ascii码
- 下一篇:c++和c语言的区别