Python练习 | 最大公约数与最小公倍数

最大公约数

实现方法1:迭代取余

n_1=input('please enter an int:')
n_2=input('please enter another int:')
def mcd(x,y):#Maximum common divisor
    if x < y:
        m=y
        y=x
        x=m
    z_1=x%y
    while z_1!=0:
        x=y
        y=z_1
        z_1=x%y
    return y
num_1=int(n_1)
num_2=int(n_2)
final=mcd(num_1,num_2)
print(final)

实现方法2:暴力检索

def mcd(x,y):
    if x<y:
        m=y
        y=x
        x=m
    for i in range(1,y+1):
        if (x%i==0)and (y%i==0):
            final=i
    return final
n_1=input('please enter an int:')
n_2=input('please enter another int:')
num_1=int(n_1)
num_2=int(n_2)
final=mcd(num_1,num_2)
print(final)

最小公倍数

暴力检索:

def lcmu(x, y):#define function :Least common multiple
   if x > y:
       greater = x
   else:
       greater = y
 
   while(True):
       if((greater % x == 0) and (greater % y == 0)):
           lcm = greater
           break
       greater += 1
 
   return lcm
 
 
# 获取用户输入
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
 
print( num1,"和", num2,"的最小公倍数为", lcmu(num1, num2))

两数乘积除以最大公约数:

import math 
def lcmu(x,y):
    mcd=math.gcd(x,y)
    lcm=x*y/mcd
    return lcm
# 获取用户输入
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
 
print( num1,"和", num2,"的最小公倍数为", lcmu(num1, num2))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值