Skip to content

Instantly share code, notes, and snippets.

@rxacevedo
Last active August 29, 2015 14:02
Show Gist options
  • Save rxacevedo/817759f035921a890b1a to your computer and use it in GitHub Desktop.
Save rxacevedo/817759f035921a890b1a to your computer and use it in GitHub Desktop.
Pascal's triangle and powers of 2
(print-table
(for [n (range 15)
:let [row (map #(choose n %) (range (inc n)))]]
{:row (with-out-str (print row))
:sum (reduce + row)
:binary (cl-format nil "~b" (bit-shift-left 2r00000001 n))}))
; | :row | :sum | :binary |
; |--------------------------------------------------------------+-------+-----------------|
; | (1) | 1 | 1 |
; | (1 1) | 2 | 10 |
; | (1 2 1) | 4 | 100 |
; | (1 3 3 1) | 8 | 1000 |
; | (1 4 6 4 1) | 16 | 10000 |
; | (1 5 10 10 5 1) | 32 | 100000 |
; | (1 6 15 20 15 6 1) | 64 | 1000000 |
; | (1 7 21 35 35 21 7 1) | 128 | 10000000 |
; | (1 8 28 56 70 56 28 8 1) | 256 | 100000000 |
; | (1 9 36 84 126 126 84 36 9 1) | 512 | 1000000000 |
; | (1 10 45 120 210 252 210 120 45 10 1) | 1024 | 10000000000 |
; | (1 11 55 165 330 462 462 330 165 55 11 1) | 2048 | 100000000000 |
; | (1 12 66 220 495 792 924 792 495 220 66 12 1) | 4096 | 1000000000000 |
; | (1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1) | 8192 | 10000000000000 |
; | (1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1) | 16384 | 100000000000000 |
;; => nil
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment