初等数学知识告诉我们,两个数的最大公约数可以通过辗转相除法求得。请查阅数学资料,尝试编写一个递归函数mygcd实现辗转相除的算法,并作相关测试!
时间: 2024-05-08 21:21:22 浏览: 115
辗转相除法求两个数的最大公约数
好的,以下是我的实现:
```python
def mygcd(a, b):
if b == 0:
return a
else:
return mygcd(b, a % b)
```
这个函数接收两个参数`a`和`b`,并递归调用自己,直到`b`为0。当`b`为0时,返回`a`作为最大公约数。
下面进行一些测试:
```python
print(mygcd(24, 36)) # 12
print(mygcd(17, 23)) # 1
print(mygcd(1024, 512)) # 512
print(mygcd(0, 8)) # 8
```
测试结果与预期一致,证明函数实现正确。
阅读全文