Treppensteigen

Das ganze in Haskell
Code:
treppe :: Integer -> [[Integer]]
treppe 0 = [[]]
treppe 1 = [[1]]
treppe n = [a:b | a <- [1,2], b <- treppe (n - a)]
-> List Comprehension <3

Code:
*Main> length (treppe 20)
10946
*Main> length (treppe 25)
121393
*Main> length (treppe 30)
1346269
*Main> treppe 4
[[1,1,1,1],[1,1,2],[1,2,1],[2,1,1],[2,2]]
25 geht noch recht schnell (~ 3s)
 
Zurück
Oben