求最大公约数和最小公倍数_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 """