Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #42041
| From | "WJ" <w_a_x_man@yahoo.com> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: Pascal's Triangle |
| Date | 2015-09-17 03:08 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <mtdarh$8pr$1@dont-email.me> (permalink) |
| References | <mdbbd1$271$1@dont-email.me> <medm0b$snk$1@dont-email.me> |
WJ wrote:
> 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
>
> Oforth:
>
> func: pt(i, row) {
> i ==0 ifTrue: [ return ]
> row println
> [0] row + row [0] + zipWith(#+) pt( i -- )}
>
> pt(16, [1])
>
> [1]
> [1, 1]
> [1, 2, 1]
: pt(i, row) {
row println
i 1 == ifTrue: [ return ]
[0] row + row [0] + zipWith(#+) i 1 - pt }
pt(12, [1])
[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]
Back to comp.lang.forth | Previous | Next — Next in thread | Find similar | Unroll thread
Re: Pascal's Triangle "WJ" <w_a_x_man@yahoo.com> - 2015-09-17 03:08 +0000 Re: Pascal's Triangle dunno <dunno@dunno.dunno> - 2015-09-17 04:01 +0000
csiph-web