python 输入两个正整数计算最大公约数和最小公倍数 示例
时间: 2023-11-23 15:03:10 浏览: 65
要求用户输入两个正整数,并且计算出这两个数的最大公约数和最小公倍数。可以通过定义一个函数来实现这个功能。
首先,使用input()函数来获取用户的输入,并将输入的字符串转换为整数类型。
然后,定义一个函数gcd(x, y)来计算最大公约数。最大公约数可以通过辗转相除法来计算,即将较大的数除以较小的数,再将得到的余数与较小的数继续进行相除,直到余数为0。最后一个非零余数就是最大公约数。
再定义一个函数lcm(x, y)来计算最小公倍数。最小公倍数可以通过两个数的乘积除以最大公约数来得到。
最后,调用这两个函数并打印结果。
下面是具体的代码实现:
```python
def gcd(x, y):
while y:
x, y = y, x % y
return x
def lcm(x, y):
return x * y // gcd(x, y)
num1 = int(input("请输入第一个正整数:"))
num2 = int(input("请输入第二个正整数:"))
print("最大公约数为:", gcd(num1, num2))
print("最小公倍数为:", lcm(num1, num2))
```
使用以上代码,用户可以输入两个正整数,程序将计算并打印出这两个数的最大公约数和最小公倍数。
相关问题
python求两个正整数的最大公约数和最小公倍数
好的,我们来解答您的问题。求两个正整数的最大公约数和最小公倍数可以借助于欧几里得算法和两数乘积等于它们的最大公约数和最小公倍数的积公式来实现。以下是一个 Python 程序求解最大公约数和最小公倍数的示例代码:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
def lcm(a, b):
return a * b // gcd(a, b)
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
print("{0}和{1}的最大公约数为:{2}".format(a, b, gcd(a, b)))
print("{0}和{1}的最小公倍数为:{2}".format(a, b, lcm(a, b)))
```
当您输入两个正整数后,程序将会计算并输出它们的最大公约数和最小公倍数。希望本次对话能够对您有所帮助,谢谢使用 ChitGPT。
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)
num1 = int(input("请输入第一个正整数:"))
num2 = int(input("请输入第二个正整数:"))
print(f"{num1}和{num2}的最大公约数是{gcd(num1, num2)}")
print(f"{num1}和{num2}的最小公倍数是{lcm(num1, num2)}")
```
输入示例:
```
请输入第一个正整数:12
请输入第二个正整数:18
```
输出示例:
```
12和18的最大公约数是6
12和18的最小公倍数是36
```