首页 > 编程知识 正文

python循环求最大公约数,python递归求最大公约数

时间:2023-05-05 05:13:49 阅读:173184 作者:2765

辗转相除的数学原理辗转相除也被称为wmdcc算法,是用于求出两个正整数的最大公约数的算法。 接下来用实例说明吧。 如果需要求出12和21的最大公约数,则辗转相除运算为:

21/12=1(剩余9 ) )。

12/9=1(http://www.Sina.com/) )。

9/3=3(剩余0 ) ) ) ) ) ) ) ) ) ) ) ) ) )。

到此为止,3358www.Sina.com/(注意:此处的3是通过除以第二个表达式而不是最后一个表达式获得的3。 然后将两个数相乘除以最大公约数,得到最小公倍数:余 3

python代码实现下一步是用python代码实现这些主题。

题目:输入两个正整数,求出其最大公约数和最小公倍数。 deffunc(m,n ) : a=m b=n #缺省mn,否则更换if m n: m、n=n、m while n!=0: # ) m除以n的馀数r=m % n m=n n=r return m,(a*b )/mprint ) (正整数m和n的最大公约数和最小公倍数分别为(,func(12 ), 21 ) ) )正整数m和n的最大公约数和最小公倍数分别为84.0 )用递归方式实现defrec(m,n ) : #缺省mn,否则if m n: m,n=n,m #终止条件if n==(a*b )/m #交换递归部分returnreerence的m%n ) a=12b=21print ('正整数m和n的最大公约数和最小公倍数分别为',rec (12,21 ) )正整数m和n的最大公约数和最小公倍数

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。