Advertisement
Guest User

Untitled

a guest
Jan 31st, 2015
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.23 KB | None | 0 0
  1. import java.io.{FileInputStream, File}
  2.  
  3. import scala.util.control.Breaks._
  4. import scala.collection.mutable.ArrayBuffer
  5.  
  6. object Main extends App
  7. {
  8.     val file = new File("K:\\Temp\\primes.txt")
  9.     val primeList = ArrayBuffer[Int]()
  10.     val fis = new FileInputStream(file)
  11.     var str = new StringBuffer
  12.     var q = true
  13.     while (q)
  14.     {
  15.         val dat = Array.fill[Byte](4096)(0)
  16.         val read = fis.read(dat)
  17.         if (read <= 0)
  18.             q = false
  19.         else
  20.         {
  21.             val data = new Array[Byte](read)
  22.             System.arraycopy(dat, 0, data, 0, read)
  23.             str.append(new String(data))
  24.         }
  25.     }
  26.     fis.close
  27.  
  28.     for (s <- str.toString.drop(1).split(","))
  29.         primeList += s.toInt
  30.  
  31.     val max = 1000000
  32.     var longest = ArrayBuffer[Int]()
  33.     var lLastPrime = 0
  34.  
  35.     for (i <- 0 until primeList.length)
  36.     {
  37.         breakable{
  38.             val ab = ArrayBuffer[Int]()
  39.             var lastPrime = 0
  40.             var sum = 0
  41.             for (n <- i until primeList.length)
  42.             {
  43.                 sum += primeList(n)
  44.                 if (sum < max)
  45.                 {
  46.                     ab += primeList(n)
  47.                     lastPrime = sum
  48.                 }
  49.                 else
  50.                 {
  51.                     if (primeList.contains(lastPrime) && ab.length > longest.length)
  52.                     {
  53.                         longest = ab
  54.                         lLastPrime = lastPrime
  55.                     }
  56.                     break
  57.                 }
  58.             }}
  59.     }
  60.  
  61.     println(s"\nNum: $lLastPrime - ${longest.mkString(", ")}")
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement