用Scala语言确定一个整数是否为素数
时间: 2023-09-17 20:12:13 浏览: 103
好的,我能回答这个问题。以下是判断一个整数是否为素数的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
```
希望这能帮到您!
相关问题
scala语言确定一个整数是否为素数的完整代码
下面是Scala语言确定一个整数是否为素数的完整代码:
```
object PrimeChecker {
def isPrime(num: Int): Boolean = {
if (num <= 1) {
return false
}
for (i <- 2 until num) {
if (num % i == 0) {
return false
}
}
return true
}
}
```
在使用时,可以通过调用`PrimeChecker.isPrime(num: Int)`方法来判断一个整数`num`是否为素数,如果是素数则返回`true`,否则返回`false`。
用Scala语言判断输入的整数是否为素数代码
下面是用Scala语言判断输入的整数是否为素数的代码:
```
import scala.math._
def isPrime(num: Int): Boolean = {
if(num <= 1) {
false
} else if(num == 2) {
true
} else {
val limit = sqrt(num).toInt
for(i <- 2 to limit) {
if(num % i == 0) {
return false
}
}
true
}
}
println(isPrime(7)) // true
println(isPrime(21)) // false
```
这段代码定义了一个isPrime函数,参数为一个整数num,返回值为Boolean类型。在函数内部,先判断num是否小于等于1,若是,则返回false。再判断num是否等于2,若是,则返回true。然后,计算num的平方根,取整数,作为循环上限limit。接着,从2循环到limit,查看是否存在num的约数,若存在,则返回false。最后,如果没有找到约数,则返回true。