12 lines
420 B
Scala
12 lines
420 B
Scala
object VanDerCorput extends App {
|
|
def compute(n: Int, base: Int = 2) =
|
|
Iterator.from(0).
|
|
scanLeft(1)((a, _) => a * base).
|
|
map(b => (n - 1) / b -> b).
|
|
takeWhile(_._1 != 0).
|
|
foldLeft(0d)((a, b) => a + (b._1 % base).toDouble / b._2 / base)
|
|
|
|
val n = scala.io.StdIn.readInt
|
|
val b = scala.io.StdIn.readInt
|
|
(1 to n).foreach(x => println(compute(x, b)))
|
|
}
|