Scala用while求两个正整数的最小公倍数
时间: 2023-05-31 18:04:12 浏览: 99
WhileScalaDsl:用解析器,解释器和运行时JIT Java字节码编译器在Scala中实现WHILE编程语言的方言,以展示Scala语言
```
def gcd(a: Int, b: Int): Int = {
var x = a
var y = b
while (y != 0) {
val r = x % y
x = y
y = r
}
x
}
def lcm(a: Int, b: Int): Int = {
(a * b) / gcd(a, b)
}
```
解释:
- `gcd` 函数实现辗转相除法求两个数的最大公约数。
- `lcm` 函数先求出两个数的乘积,再除以它们的最大公约数,得到最小公倍数。
阅读全文