RosettaCodeData/Task/Sierpinski-triangle/Racket/sierpinski-triangle.rkt
Ingy döt Net 6f050a029e update
2013-06-05 21:47:54 +00:00

9 lines
304 B
Racket

#lang racket
(define (sierpinski n)
(if (zero? n)
'("*")
(let ([spaces (make-string (expt 2 (sub1 n)) #\space)]
[prev (sierpinski (sub1 n))])
(append (map (λ(x) (~a spaces x spaces)) prev)
(map (λ(x) (~a x " " x)) prev)))))
(for-each displayln (sierpinski 5))