def gcd(a, b): while b != 0: a, b = b, a % b return a
时间: 2023-08-05 12:05:58 浏览: 429
这是一个Python函数,用于计算两个数的最大公约数(GCD),即两个数的最大公因数。函数使用欧几里得算法(辗转相除法)来计算最大公约数。
函数定义:接受两个整数参数a和b,返回它们的最大公约数。
函数实现:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
```
函数说明:
1. 首先判断b是否为0,如果是则返回a,否则执行下一步。
2. 计算a除以b的余数,将余数赋值给b,将b赋值给a,继续执行第一步。
3. 当b等于0时,返回a,即为两个数的最大公约数。
需要注意的是,函数参数a和b应该为正整数,否则函数可能会进入死循环。
相关问题
def gcd(a, b): while b != 0: a, b = b, a % b return a# 示例print(gcd(24, 36)) # 输出 12
这是一个求最大公约数的函数,使用了辗转相除法的思想。函数接受两个参数 a 和 b,然后在 while 循环中重复执行以下操作:将 b 赋值给 a,将 a 除以 b 的余数赋值给 b。当 b 等于 0 时,循环结束,a 的值即为最大公约数,将其返回即可。在示例中,调用函数 gcd(24, 36),经过计算得到最大公约数为 12,函数返回 12。
从键盘接收两个整数, 调用函数 gcd() 输出最大公约数。请将程序补充完整 def gcd(a, b) : if a<b: a,b=b,a while a%b != 0: a,b=b,a%b return b x=eval(input("请输入一个整数:") ) y=eval(input("请输入另一个整数:“) ) print("这两个数的最大公约数为:{} ".format(____________________))
完整程序如下:
```python
def gcd(a, b):
if a < b:
a, b = b, a
while a % b != 0:
a, b = b, a % b
return b
x = eval(input("请输入一个整数:"))
y = eval(input("请输入另一个整数:"))
print("这两个数的最大公约数为:{}".format(gcd(x, y)))
```
解释:程序首先定义了一个 `gcd()` 函数,用于计算两个整数的最大公约数。然后从键盘接收两个整数 x 和 y,并调用 `gcd()` 函数计算它们的最大公约数。最后输出结果。
阅读全文