Pascal

Run Settings
LanguageScala
Language Version
Run Command
object Main extends App { def pascal(prev: List[Int], until: Int): Unit = { if (until == 0) () else { val now = if (prev.isEmpty) 1 :: prev else (0 to prev.size).map(number(_, prev)).toList println(now.mkString(" ")) pascal(now, until - 1) } } def number(pos : Int, prev: List[Int]) : Int = { val left = if(prev.isDefinedAt(pos - 1)) prev(pos - 1) else 0 val right = if(prev.isDefinedAt(pos)) prev(pos) else 0 left + right } def f(n: Int): Unit = { pascal(Nil, n) } (3 to 7).foreach { i => f(i) println() } }
Editor Settings
Theme
Key bindings
Full width
Lines