Version 1 of Sierpiński triangle

Updated 2015-07-01 22:06:49 by AMG

AMG: Here's code to generate an ASCII Sierpiński triangle:

set size 32
set result {}
for {set y [expr {$size - 1}]} {$y >= 0} {incr y -1} {
    set line [lrepeat $size " "]
    for {set x $y} {$x < $size} {set x [expr {($x + 1) | $y}]} {
        lset line $x #
    }
    lappend result [string range [join $line " "] $y end]
}
puts [join $result \n]

And here's the output:

                               #
                              # #
                             #   #
                            # # # #
                           #       #
                          # #     # #
                         #   #   #   #
                        # # # # # # # #
                       #               #
                      # #             # #
                     #   #           #   #
                    # # # #         # # # #
                   #       #       #       #
                  # #     # #     # #     # #
                 #   #   #   #   #   #   #   #
                # # # # # # # # # # # # # # # #
               #                               #
              # #                             # #
             #   #                           #   #
            # # # #                         # # # #
           #       #                       #       #
          # #     # #                     # #     # #
         #   #   #   #                   #   #   #   #
        # # # # # # # #                 # # # # # # # #
       #               #               #               #
      # #             # #             # #             # #
     #   #           #   #           #   #           #   #
    # # # #         # # # #         # # # #         # # # #
   #       #       #       #       #       #       #       #
  # #     # #     # #     # #     # #     # #     # #     # #
 #   #   #   #   #   #   #   #   #   #   #   #   #   #   #   #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #