1108. 最小公倍数(HDU)

题意理解

求两个不大于1000正整数的最小公倍数。

问题分析

先计算最大公约数,再两数相乘除最大公约数。

计算最大公约数用欧几里得算法:

gcd  (a,0) = a

gcd(a,b) = gcd (b, a % b)

实现可用while循环,也可用递归。代码见链接。

其他

欧几里得算法描述是从wiki上搬过来的。https://en.wikipedia.org/wiki/Greatest_common_divisor#Using_Euclid's_algorithm

代码链接

https://github.com/xierensong/learngit/blob/master/hdu/h1108.cpp

https://github.com/xierensong/learngit/blob/master/hdu/h1108_1.cpp

猜你喜欢

转载自blog.csdn.net/xiexie1357/article/details/81177801