在vm终端中用scala使用数组存储100以内的奇数,输出数组中的素数
时间: 2024-09-23 12:09:07 浏览: 42
Scala 【 5 数组常见操作和 Map 】
5星 · 资源好评率100%
在Scala的VM终端中,你可以通过以下步骤创建一个数组并填充100以内的奇数,然后筛选出素数:
1. 首先,我们需要导入`scala.collection.mutable`包,它包含了数组操作的便利函数。
```scala
import scala.collection.mutable._
```
2. 然后,创建一个变量来保存数组,并初始化为只包含奇数的列表。我们从1开始,每次加2直到100。
```scala
val numbers = mutable.ListBuffer[Int](1 to 100 by 2)
```
3. 接下来,我们可以编写一个辅助函数来检查一个数字是否为素数。素数是指大于1且只有两个正因数(1和自身)的自然数。
```scala
def isPrime(n: Int): Boolean = {
if (n <= 1) false
else if (n == 2) true
else !(2 to (math.sqrt(n).toInt + 1)).exists(x => n % x == 0)
}
```
4. 使用`filter`函数筛选出数组中的素数,并将结果放入一个新的列表。
```scala
val primes = numbers.filter(isPrime)
```
5. 最后,打印出素数列表。
```scala
primes.foreach(println)
```
完整代码示例:
```scala
import scala.collection.mutable._
def isPrime(n: Int): Boolean = {
if (n <= 1) false
else if (n == 2) true
else !(2 to (math.sqrt(n).toInt + 1)).exists(x => n % x == 0)
}
val numbers = mutable.ListBuffer[Int](1 to 100 by 2)
val primes = numbers.filter(isPrime)
primes.foreach(println)
阅读全文