Scala从数组返回质数

人气:1,030 发布:2022-10-16 标签: primes scala

问题描述

我是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函数不起作用

624