fork download
  1. import scala.annotation.tailrec
  2. import scala.util.Random
  3.  
  4. object Main extends App {
  5. @tailrec
  6. def sumToOne(acc: Double = 0, count: Int = 0): Int = {
  7. if (acc >= 1) count
  8. else sumToOne(acc + Random.nextDouble(), count + 1)
  9. }
  10.  
  11. val iterations = 1000000
  12. println((1 to iterations).map(_ => sumToOne()).sum / iterations.toDouble)
  13. }
Success #stdin #stdout 0.52s 4382720KB
stdin
Standard input is empty
stdout
2.717661