package main import "fmt" // 辗转相除法计算最大公约数 func GreatestCommonDivisor(a, b int) int { // 以 b 为判断条件,进行辗转相除 // 如果 a % b == 0,证明 b 是 a 的一个约数 // b 就是 a 和 b 中的最大公约数 // 如果 a < b 时,a % b 的结果就是 a,这里还保证了数之间的交换,将较大的数转换到a上。 // 使得最终一定有 b = 大数 % 小数 从而进行判断 for b != 0 { a, b = b, a % b } return a } // 利用公式: (a, b)最大公约数 * (a, b)最小公倍数 = a * b func LeastCommonMultiple(a, b int) int { return a*b / GreatestCommonDivisor(a, b) } func main(){ var a, b int fmt.Scanf("%d %d", &a, &b) fmt.Println(LeastCommonMultiple(a, b)) }