Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news.albasani.net!.POSTED!not-for-mail From: Melzzzzz Newsgroups: comp.lang.forth Subject: Re: Pascal's Triangle Date: Fri, 6 Mar 2015 07:32:18 +0100 Organization: albasani.net Lines: 38 Message-ID: <20150306073218.6470ffa4@maxa-pc> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: news.albasani.net bNZQ9J4cXPd3w2cDv0Ji3ei3A1f13IKo5jwUDC5VkDyBhy57CKhRsd3q8b//eUASqqNITViuOz01PMsHQAAaFA== NNTP-Posting-Date: Fri, 6 Mar 2015 06:32:18 +0000 (UTC) Injection-Info: news.albasani.net; logging-data="S43bIXaAR4fAm7Q1RwUSuTNAALKbGKS4vSXHyEqnYZq1z2gVAr4XR7v02w4RunaeC4QCZ29LF2mm440Uf5/K+Ep0eYXh2vC8Sm52Or+nT+UavVEBvBJ0qjkeCZpCvXE1"; mail-complaints-to="abuse@albasani.net" X-Newsreader: Claws Mail 3.11.1 (GTK+ 2.24.26; x86_64-unknown-linux-gnu) Cancel-Lock: sha1:gniofGIXv8D6kNH7CyP8xbO0W9U= Xref: csiph.com comp.lang.forth:37047 On Fri, 6 Mar 2015 04:45:22 +0000 (UTC) "WJ" wrote: > Print the first 16 rows of Pascal's Triangle. > > Gauche Scheme: > > (let1 row '(1) > (dotimes (16) > (print ((#/.(.*)./ (x->string row)) 1)) > (set! row (map + (cons 0 row) `(,@row 0))))) > > 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 > > Let's see a shorter Forth version. Nim : for i in 0..16 : var x = 1 for k in 0..i : write (stdout,x,' ') x = x * (i - k) div (k + 1) write (stdout,'\l')