scala实现求最大公因数和最小公倍数
时间: 2023-12-31 20:51:25 浏览: 93
最大公因数可以使用欧几里得算法(辗转相除法)实现,代码如下:
```scala
def gcd(a: Int, b: Int): Int = {
if (b == 0) a else gcd(b, a % b)
}
```
最小公倍数可以使用最大公因数求解,代码如下:
```scala
def lcm(a: Int, b: Int): Int = {
a * b / gcd(a, b)
}
```
相关问题
使用Scala语言用while语句写一个输入两个正整数m和n,求最大公约数和最小公倍数
import scala.io.StdIn._
println("请输入两个正整数:")
val m = readInt()
val n = readInt()
var a = m
var b = n
while (b != 0) {
val temp = a % b
a = b
b = temp
}
val gcd = a
val lcm = m * n / gcd
println(s"最大公约数:$gcd")
println(s"最小公倍数:$lcm")
使用Scala语言写一个最大公约数和最小公倍数
最大公约数:
```scala
def gcd(a: Int, b: Int): Int = {
if (b == 0) a else gcd(b, a % b)
}
```
最小公倍数:
```scala
def lcm(a: Int, b: Int): Int = {
a * b / gcd(a, b)
}
```
阅读全文