用Scala语言判断输入的整数是否为素数的代码
时间: 2023-09-18 14:16:25 浏览: 102
以下是用Scala语言判断输入的整数是否为素数的代码:
```
import scala.math._
def isPrime(n: Int): Boolean = {
if (n <= 1) false
else if (n == 2) true
else !(2 to (sqrt(n).toInt + 1)).exists(i => n % i == 0)
}
val num = readInt()
if (isPrime(num)) println(num + "是素数")
else println(num + "不是素数")
```
解释一下代码:
首先,定义了一个 `isPrime` 函数,用于判断一个整数 `n` 是否是素数:
- 如果 `n` 小于等于 1,那么不是素数;
- 如果 `n` 等于 2,那么是素数;
- 否则,判断从 2 到 `sqrt(n)+1`(向上取整)之间有没有能整除 `n` 的整数,如果有,那么 `n` 不是素数,否则 `n` 是素数。
接下来,读入一个整数 `num`,然后调用 `isPrime` 函数判断它是否是素数,最后输出判断结果。
注意:在实际使用中还应该加入一些异常处理和输入校验,以保证程序的鲁棒性和正确性。
相关问题
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代码:
```
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
```
希望这能帮到您!
阅读全文