求两个数的最大公约数和最小公倍数
# 定义一个函数
def divisor(x, y):
# 获取最小值
if x > y:
small = y
else:
small = x
for i in range(1, small + 1):
if ((x % i == 0) and (y % i == 0)):
a = i
b = a * (x // a) * (y // a)
print(x, '和', y, '的最大公约数为:{}'.format(a))
print(x, '和', y, '的最小公倍数为:{}'.format(b))
# 调用greast_common_divisor(num1,num2)函数
divisor(int(input('input x:')), int(input('input y:')))
求三个数的最大公约数和最小公倍数
def gcd(a,b,c):
small = min(a,b,c)
for i in range(1,small + 1):
if a % i == 0 and b % i == 0 and c % i == 0:
m = i
q = m * (a // m) * (b // m) * (c // m)
print('最大公约数为{}'.format(m))
print('最小公倍数为{}'.format(q))
while True:
try:
num1 = int(input('请输入第一个正数:'))
num2 = int(input('请输入第二个正数:'))
num3 = int(input('请输入第三个正数:'))
if num1 <= 0 or num2 <= 0 or num3 <= 0:
continue
except ValueError:
continue
gcd(num1,num2,num3)
break
网友评论