解题思路:
辗转相除法
辗转相除法又名欧几里得算法(Euclidean algorithm),目的是求出两个正整数的最大公约数。
这条算法基于一个定理:两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。比如10和25,25除以10商2余5,那么10和25的最大公约数,等同于10和5的最大公约数。
最小公倍数 = 两数之积 ÷ 最大公因数
注意事项:
参考代码:
m,n = map(int,input().split()) if m>n: m,n = n,m def GCD(m,n): if n%m == 0: return m else: return GCD(n%m,m) miny = GCD(m,n) print(miny,end=" ") print(m*n//miny)
0.0分
11 人评分
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:538 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:572 |
川哥的吩咐 (C++代码)浏览:1007 |
C语言程序设计教程(第三版)课后习题10.1 (Java代码)浏览:1435 |
【密码】 (C语言代码)浏览:333 |
矩形面积交 (C++代码)浏览:1125 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1418 |
第三届阿里中间件性能挑战赛-总决赛亚军比赛攻略浏览:1144 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:525 |
C语言程序设计教程(第三版)课后习题8.2 (C++代码)浏览:646 |