Scala
サンプル
備忘録
素数

Scalaで素数のサンプル

More than 1 year has passed since last update.

少し古いがこちらを参考に。

Scala 2.12.4

object PrimeNumber {

// 約数を求める
def divisors(n: Int): List[Int] =
for (i <- (1 to n).toList if n % i == 0) yield i

// 約数が2のときは素数
def isPrime(n: Int): Boolean = divisors(n).lengthCompare(2) == 0

// 与えられた整数までの素数のリストを返す
def findPrimeUntil(n: Int): Iterable[Int] = {
for (i <- 1 to n if isPrime(i)) yield i
}

def main(args: Array[String]) {
val l = findPrimeUntil(30)
println(l)
}
}
// Vector(2, 3, 5, 7, 11, 13, 17, 19, 23, 29)