用scala求任意两个整数的连加和
时间: 2023-09-21 09:08:24 浏览: 73
可以使用递归来求解。代码如下:
```scala
def sum(start: Int, end: Int): Int = {
if (start > end) 0
else start + sum(start + 1, end)
}
// 测试
println(sum(1, 5)) // 输出 15
println(sum(3, 8)) // 输出 33
```
在这个代码中,我们定义了一个函数 `sum`,它接受两个整数 `start` 和 `end` 作为参数,表示要对这两个整数进行连加。如果 `start > end`,则返回 0;否则返回 `start` 加上 `start + 1` 到 `end` 的连加和。这里使用了递归,每次递归调用时,`start` 加 1,直到 `start > end`。
相关问题
Scala用while求两个正整数的最小公倍数
```
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` 函数先求出两个数的乘积,再除以它们的最大公约数,得到最小公倍数。
用Scala语言确定一个整数是否为素数
好的,我能回答这个问题。以下是判断一个整数是否为素数的Scala代码:
```
def isPrime(n: Int) = !(2 to math.sqrt(n).toInt).exists(x => n % x == 0)
```
您可以在Scala REPL中尝试使用该函数:
```
scala> isPrime(13)
res0: Boolean = true
scala> isPrime(10)
res1: Boolean = false
```
希望这能帮到您!