Original Post
Hi, I thought it would be cool to see how different programming languages accomplish the same task. There's a site that does this for a "99 Bottles of Beer on the Wall" program, but I find that rather uninteresting. Here's something slightly more interesting, in that at least you have to do some kind of simple algorithm to make it work: All you have to do is print out 16 rows of Pascal's Triangle. It must look like the following:
1
1, 1
1, 2, 1
1, 3, 3, 1
1, 4, 6, 4, 1
1, 5, 10, 10, 5, 1
1, 6, 15, 20, 15, 6, 1
1, 7, 21, 35, 35, 21, 7, 1
1, 8, 28, 56, 70, 56, 28, 8, 1
1, 9, 36, 84, 126, 126, 84, 36, 9, 1
1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1
1, 11, 55, 165, 330, 462, 462, 330, 165, 55, 11, 1
1, 12, 66, 220, 495, 792, 924, 792, 495, 220, 66, 12, 1
1, 13, 78, 286, 715, 1287, 1716, 1716, 1287, 715, 286, 78, 13, 1
1, 14, 91, 364, 1001, 2002, 3003, 3432, 3003, 2002, 1001, 364, 91, 14, 1
1, 15, 105, 455, 1365, 3003, 5005, 6435, 6435, 5005, 3003, 1365, 455, 105, 15, 1
Don't forget to tell us what language you're using. Also, please don't use the SOURCE tag, use the CODE tag instead. Hopefully, your code will be short enough so that it would be worthwhile to do so. Try to write your code in a way that is readable and concise. Use comments only if someone fluent in your language wouldn't be able to understand what you're doing. Now, let's begin. Here is the solution written in Common Lisp: (loop repeat 16
for r = '(1) then (mapcar #'+ (cons 0 r) (append r '(0)))
do (format t "~{~6D~^,~}~%" r))