用Scala找出大于200的最小的质数
时间: 2024-03-22 09:37:49 浏览: 91
scala求区间素数个数
5星 · 资源好评率100%
以下是一个使用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。
阅读全文