根据所学scala 语言中的函数及其基本语法查找出2-1000内的素数.
时间: 2023-05-01 14:03:59 浏览: 384
题目要求使用Scala语言编写一个函数,可以查找2-1000内的所有质数。
函数可以使用基本语法包括循环,条件判断等。
以下是一个可能的Scala函数实现:
```
def findPrimes(n: Int): List[Int] = {
if (n < 2) Nil
else if (n == 2) List(2)
else {
val primes = findPrimes(n - 1)
if (primes.forall(p => n % p != 0)) n :: primes
else primes
}
}
val primes = findPrimes(1000)
println(primes)
```
这个函数使用了递归的方式,从最大的数开始查找,逐步减小范围直到2。对于每一个数,检查其是否能够整除已经找到的所有质数,如果都不能整除,则将其加入质数列表中。最终输出找到的所有质数。
阅读全文