// // program to find and print primes using sieve of Erastosthenes // println("enter largest value to check") val N = readInt // isPrime(i) will be false if i has been "crossed out" as not prime val isPrime = Array.fill(N+1)(true) isPrime(0) = false isPrime(1) = false for (i <- 2 to math.ceil(math.sqrt(N)).toInt) { if (isPrime(i)) { // "cross out" multiples of i for (j <- 2*i to N by i) { isPrime(j) = false } } } println("primes less than or equal to " + N + ":") for (i <- 2 to N) { if (isPrime(i)) println(i) }