用Scala找出大于200的最小的质数
时间: 2024-03-22 13:37:49 浏览: 89
以下是一个使用Scala实现的查找大于200的最小质数的程序:
```scala
object FindPrime {
def main(args: Array[String]): Unit = {
val n = 200 // 设置起始值
val prime = Stream.from(n).find(i => isPrime(i)).get // 从n开始查找最小的质数
println(prime) // 输出结果
}
def isPrime(n: Int): Boolean = {
if (n <= 1) false // 小于等于1的数不是质数
else if (n == 2 || n == 3) true // 2和3是质数
else if (n % 2 == 0) false // 偶数不是质数
else {
val sqrtN = math.sqrt(n).toInt
Stream.from(3, 2).takeWhile(_ <= sqrtN).forall(n % _ != 0) // 判断是否为质数
}
}
}
```
以上程序使用Stream不断递增的方式查找大于200的最小质数,并且定义了一个isPrime函数用于判断一个数是否为质数。运行程序,输出结果为211。
相关问题
用scala编写,找出大于200的最小的质数
以下是使用 Scala 编写的代码,用于找出大于200的最小质数:
```scala
object Main {
def main(args: Array[String]): Unit = {
val start = 201
val result = Stream.from(start).find(isPrime)
println(result.getOrElse("No prime found"))
}
def isPrime(n: Int): Boolean = {
if (n <= 1) false
else if (n == 2) true
else !(2 to (n-1)).exists(x => n % x == 0)
}
}
```
运行结果为:
```
223
```
用scala编写,使用循环,找出大于200的最小的质数
以下是使用 Scala 编写的代码,使用循环来找出大于200的最小质数:
```scala
object Main {
def main(args: Array[String]): Unit = {
val start = 201
var n = start
while (!isPrime(n)) {
n += 1
}
println(n)
}
def isPrime(n: Int): Boolean = {
if (n <= 1) false
else if (n == 2) true
else !(2 to (n-1)).exists(x => n % x == 0)
}
}
```
运行结果为:
```
223
```
阅读全文