用Scala语言判断输入的整数是否为素数的代码
时间: 2023-09-20 19:03:40 浏览: 45
以下是用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语言判断输入的整数是否为素数的代码:
```
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语言确定一个整数是否为素数的完整代码:
```
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`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)