Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

christmas tree

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-26 18:16

                                                ***

Name: Anonymous 2008-12-26 18:16

                                               *****

Name: Anonymous 2008-12-26 18:16

                                              *******

Name: Anonymous 2008-12-26 18:16

                                             *********

Name: Anonymous 2008-12-26 18:16

                                            ***********

Name: Anonymous 2008-12-26 18:17

                                           *************

Name: Anonymous 2008-12-26 18:17

                                          ***************

Name: Anonymous 2008-12-26 18:17

                                         *****************

Name: Anonymous 2008-12-26 18:17

                                        *******************

Name: Anonymous 2008-12-26 18:17

                                       *********************

Name: Anonymous 2008-12-26 18:17

                                      ***********************

Name: Anonymous 2008-12-26 18:18

                                     *************************

Name: Anonymous 2008-12-26 18:18

                                    ***************************

Name: Anonymous 2008-12-26 18:18

                                   *****************************

Name: Anonymous 2008-12-26 18:18

                                  *******************************

Name: Anonymous 2008-12-26 18:18

                                 *********************************

Name: Anonymous 2008-12-26 18:18

                                ***********************************

Name: Anonymous 2008-12-26 18:19

                               *************************************

Name: Anonymous 2008-12-26 18:19

                              ***************************************

Name: Anonymous 2008-12-26 18:19

                             *****************************************

Name: Anonymous 2008-12-26 18:19

                            *******************************************

Name: Anonymous 2008-12-26 18:19

                           *********************************************

Name: Anonymous 2008-12-26 18:19

                          ***********************************************

Name: Anonymous 2008-12-26 18:20

                         *************************************************

Name: Anonymous 2008-12-26 18:20

                        ***************************************************

Name: Anonymous 2008-12-26 18:20

                       *****************************************************

Name: Anonymous 2008-12-26 18:20

                      *******************************************************

Name: Anonymous 2008-12-26 18:20

                     *********************************************************

Name: Anonymous 2008-12-26 18:20

                    ***********************************************************

Name: Anonymous 2008-12-26 18:21

                   *************************************************************

Name: Anonymous 2008-12-26 18:21

                  ***************************************************************

Name: Anonymous 2008-12-26 18:21

                 *****************************************************************

Name: Anonymous 2008-12-26 18:22

                *******************************************************************

Name: Anonymous 2008-12-26 18:23

LISP

Name: Anonymous 2008-12-27 18:27

> let n = 10 in mapM_ (putStrLn . liftM2 (++) (flip replicate ' ' . (`div`2) . (n*2-)) (flip replicate '*')) $ filter odd [1..n*2] ++ [1]
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************
         *

Name: Anonymous 2008-12-27 18:44

>>75
Enjoy your O(h^2) runtime.

Name: Anonymous 2008-12-27 19:16

>>2
Two functions and a conditional? Really?
>>> tree = lambda k: '\n'.join(('*' * n).center(2 * k) for n in range(1, 2 * k, 2) + [1])

Name: Anonymous 2008-12-27 19:56

>>75
>>15 is still superior.

Name: I CAN DO FUNCTIONAL TOO 2008-12-27 19:58

#include <iostream>
#include <string>

template < size_t n, size_t n1 >
struct _xmastree {
    static const std::string val;
};

template < size_t n, size_t n1 >
const std::string _xmastree< n, n1 >::val =
    _xmastree< n, n1 - 1 >::val +
    std::string( "\n" ) +
    std::string( n - n1, ' ' ) +
    std::string( n1 * 2 + 1, '*' );

template < size_t n >
struct _xmastree< n, 0 > {
    static const std::string val;
};

template < size_t n >
const std::string _xmastree< n, 0 >::val =
    std::string( n, ' ' ) +
    std::string( "*" );

template < size_t n >
struct xmastree {
    static const std::string val;
};

template < size_t n >
const std::string xmastree< n >::val =
    _xmastree< n, n >::val +
    std::string( "\n" ) +
    std::string( n, ' ' ) +
    std::string( 1, '*' );

template <>
const std::string xmastree< 0 >::val = "\"GRUNNER\"";

int main( int argc, char *argv[] ) {
    std::cout << xmastree<10>::val << std::endl;
    return 0;
}

Name: Anonymous 2008-12-27 20:24

>>76
along with my job

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List