1.编写函数,实现辗转相除法,接收两个整数(需对两个参数的类型进行判断,需要两个参数为整数),返回这两个整数的最大公约数,并使用标准库 math 中的函数 gcd()验证是否正确。
时间: 2024-12-20 11:30:55 浏览: 11
当然,我们可以创建一个名为`euclidean_algorithm`的函数,采用辗转相除法(也称为欧几里得算法)来计算两个整数的最大公约数。首先,我们需要检查传入的参数是否都是整数。下面是函数的实现:
```python
def gcd(a, b):
# 判断输入是否为整数
if not isinstance(a, int) or not isinstance(b, int):
raise ValueError("Both arguments must be integers.")
# 辗转相除法
while b != 0:
a, b = b, a % b
# 返回最大公约数
return a
# 使用math.gcd()进行验证
import math
# 测试函数
num1 = 48
num2 = 18
computed_gcd = gcd(num1, num2)
math_gcd = math.gcd(num1, num2)
print(f"Computed GCD: {computed_gcd}")
print(f"Math GCD: {math_gcd}")
# 验证结果是否一致
if computed_gcd == math_gcd:
print("The results are consistent.")
else:
print("The results do not match.")
```
运行这段代码后,你会看到计算得到的最大公约数以及使用`math.gcd()`的验证结果。如果两者相同,则说明我们的函数实现了辗转相除法。
阅读全文