python编写给出两个数,求两个数的最大公约数,最小公倍数,要求使用while实现、
时间: 2024-10-01 16:03:32 浏览: 32
在Python中,可以使用欧几里得算法(也叫辗转相除法)来找出两个数的最大公约数(Greatest Common Divisor, GCD),同时利用最大公约数来计算最小公倍数(Least Common Multiple, LCM)。下面是一个使用while循环实现的例子:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
# 利用公式:lcm(a, b) = |a * b| / gcd(a, b)
return abs(a * b) // gcd(a, b)
# 输入两个数
num1 = int(input("请输入第一个数: "))
num2 = int(input("请输入第二个数: "))
print(f"最大公约数 (GCD): {gcd(num1, num2)}")
print(f"最小公倍数 (LCM): {lcm(num1, num2)}")
```
在这个程序中,`gcd`函数通过不断交换变量并更新余数直到b为0,找到a和b的最大公约数。而`lcm`函数则是先计算两数乘积再除以它们的最大公约数。
相关问题
python实现最大公约数和最小公倍数计算。从键盘接收两个整数,编写程序求出这两 个整数的最大公约数和最小公倍数。
好的,这是 Python 实现最大公约数和最小公倍数计算的代码:
```python
# 定义函数,计算最大公约数
def gcd(a, b):
while b:
a, b = b, a % b
return a
# 定义函数,计算最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
# 从键盘接收两个整数
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
# 计算最大公约数和最小公倍数
print("最大公约数:%d" % gcd(a, b))
print("最小公倍数:%d" % lcm(a, b))
```
你可以将以上代码保存为 .py 文件,通过运行该文件,在命令行中输入两个整数,即可得到它们的最大公约数和最小公倍数的计算结果。
python编写函数:求两个数的最大公约数与最小公倍数
可以使用辗转相除法求最大公约数,辗转相除法的原理是:两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。
代码如下:
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
def lcm(a, b):
return a * b // gcd(a, b)
```
其中,`gcd`函数返回a和b的最大公约数,`lcm`函数返回a和b的最小公倍数。
阅读全文