解题思路:
辗转相除法
辗转相除法又名欧几里得算法(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++代码)(这里推荐用switch)浏览:959 |
母牛的故事 (C语言代码)浏览:668 |
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:820 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:509 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:638 |
C语言训练-最大数问题 (C语言代码)浏览:633 |
求圆的面积 (C语言代码)浏览:1267 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:534 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:1415 |
简单的a+b (C语言代码)浏览:478 |