问题描述
我是Scala的新手,所以对于这个非常基本的问题,我深表歉意。
我在Liner上有一个很棒的功能,它可以检查一个数字是否为质数。我试图用它做的是,让函数接受一个数组,然后吐出质数。
我如何才能最好地实现这一点?在单人班轮上也可以做到吗?谢谢!
def isPrime(num: Int): Boolean = (2 to num) forall (x => num % x != 0)
推荐答案
我想要做的是允许该函数接受一个数组并输出素数
您可以执行以下操作
def primeNumbs(numbers: Array[Int]) = numbers.filter(x => !((2 until x-1) exists (x % _ == 0)) && x > 1)
如果将数字数组传递为
println(primeNumbs(Array(1,2,3,6,7,10,11)).toList)
您应该得到
List(2, 3, 7, 11)
我希望这个答案是有帮助的
注意:您的isPrime
函数不起作用