Popis problému
Celý popis zadania sa nacháza – Hackerrank.
Riešenie
Vytovril som rekurzívnu funkciu pre výpočet faktoriálu –
.
Potom vytvor všetky kombinácie medzi riadkami a stĺpcami. Pre vstupné číslo 4
výstup vyzerá nasledovne:
1 2 3 4 |
(0,0) (1,0), (1,1) (2,0), (2,1), (2,2) (3,0), (3,1), (3,2), (3,3) |
Potom aplikuj funkciu pre pascalov trojuholník
Vytvoril som riešenie v programovacom jazyku Scala:
Riešenie je dostupné aj na mojom GitHub profile.
Scala
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
object PascalTriangle extends App { val k = io.Source.stdin.bufferedReader().readLine().toInt (0 until k).foreach { row => println(List.range(0, row + 1) .map(col => fact(row) / (fact(col) * fact(row - col))) .mkString(" ")) } def fact(n: Int): Int = { if(n <= 1) 1 else n * fact(n - 1) } } |