Name:
Anonymous
2008-12-24 22:21
(define (christmasTree h)
(define (foo k)
(if (< k 1)
"" (string-append " " (foo (- k 1)))))
(define (bar k)
(if (< k 1)
"\n" (string-append "*" (bar (- k 1)))))
(define (ct i)
(if (= i (+ h 1))
(string-append
(foo (- h 1))
(bar 1))
(string-append
(foo (- h i))
(bar (- (* 2 i) 1))
(ct (+ i 1)))))
(display (ct 1)))
#;1> (christmasTree 10)
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
*
Name:
Anonymous
2008-12-24 22:32
>>> xmas = lambda m, c: (('*' * c).center(m)) + '\n' + xmas(m, c + 2) if c < m else '*'.center(m)
>>> tree = lambda n: xmas(n * 2, 1)
>>> print tree(10)
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
*