求最大公约数和最小公倍数_python

"""写两个函数,分别求两个整数的最大公约数和最小公倍数,调用这两个函数,并输出结果。两个整数由键盘输入。"""
'''
设两个整数u和v,用辗转相除法求最大公约数的算法如下:   例如:u=4和v=6
if v>u                                                     v>u即:4<6
将变量u与v的值互换(使大者u为被除数)                       变成 u=6,v=4
while(u/v的余数r!=0)                                     u/v=6/4=1,余数r为2
{                                                           {
    u=v(使除数变为被除数u)                                      u=v=4                
    v=r(使余数变为除数v)                                        v=r=2
}                                                            }
输出最大公约数                                                u/v=4/2=2,余数为0,则最大公约数为r
最小公倍数为:u*v/最大公约数r                                 最小公倍数为:u*v/r=6*4/2=12                                     
'''
def gongyue(u,v):
    if u<v:
        t=u
        u=v
        v=t
    r=u%v
    while r!=0:
        u=v
        v=r
        r=u%v
    return v
def gongbei(u,v,h):
    return u*v/h
a=int(input('第一个整数:'))
b=int(input('第二个整数:'))
print('最大公约数为',gongyue(a,b))
print('最小公倍数为',gongbei(a,b,gongyue(a,b)))
"""结果:
第一个整数:4
第二个整数:6
最大公约数为 2
最小公倍数为 12.0
"""

  

posted @ 2018-01-24 14:17  耐烦不急  阅读(7701)  评论(0编辑  收藏  举报