alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Scala example source code file (nsievebits.scala-3.scala)

This example Scala source code file (nsievebits.scala-3.scala) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Scala tags/keywords

array, array, bitset, bitset, int, int, primes, primes

The Scala nsievebits.scala-3.scala source code

/* The Computer Language Shootout
   http://shootout.alioth.debian.org/
   contributed by Isaac Gouy
*/

import scala.collection.mutable.BitSet

object nsievebits { 

   def nsieve(m: Int) = {
      val isPrime = new BitSet(m+1)
      isPrime ++= Iterator.range(2, m+1)

      for (i <- Iterator.range(2, m+1)) {
         if (isPrime.contains(i)) {
            var k = i+i
            while (k <= m){ isPrime -= k; k = k+i }
         }
      }
      isPrime.size
   }


   def main(args: Array[String]) {

      def printPrimes(m: Int) = {

         def pad(i: Int, width: Int) = {
            val s = i.toString
            List.range(0, width - s.length)
               .map((i) => " ") .foldLeft("")((a,b) => a+b) + s  
         }

         Console.println("Primes up to " +  pad(m,8) + pad(nsieve(m),9))
      }

      val n = Integer.parseInt(args(0))
      printPrimes( (1<

Other Scala examples (source code examples)

Here is a short list of links related to this Scala nsievebits.scala-3.scala source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.