Home > scala > Scala: Project Euler: Problem 7

Scala: Project Euler: Problem 7

November 26th, 2009

Problem:
Find the 10001st prime.

object Problem7 {

    def main(args: Array[String]) :Unit = {
        println(findNthPrime(10001))
    }

    def findNthPrime(n:Int) : Long = {
        var primeSet = List[Long](2L)
        var number = 3L
        while(primeSet.size < n)
        {
            if(isPrime(primeSet, number)) primeSet = number :: primeSet
            number += 1
        }
        return primeSet.first
    }

    def isPrime(primeSet:Seq[Long], n:Long) : Boolean = {
        for( i <- primeSet ) {
            if(n % i == 0) return false
        }
        return true
    }
}

scala

  1. No comments yet.
  1. No trackbacks yet.