用Scala语言判断输入的整数是否为素数代码
时间: 2023-06-02 09:06:24 浏览: 142
下面是用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。
相关问题
用Scala语言判断输入的整数是否为素数的代码
以下是用Scala语言判断输入整数是否为素数的代码:
```
import scala.math._
def isPrime(n: Int): Boolean = {
if (n <= 1) {
false
} else if (n == 2) {
true
} else {
val limit = ceil(sqrt(n)).toInt
def check(i: Int): Boolean = {
if (i > limit) {
true
} else if (n % i == 0) {
false
} else {
check(i + 2)
}
}
if (n % 2 == 0) {
false
} else {
check(3)
}
}
}
val n = readInt()
println(if (isPrime(n)) s"$n is prime" else s"$n is not prime")
```
注:这个代码使用的是 Miller-Rabin 算法判断质数,相比于传统的试除法更加高效。
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`。