Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #42041

Re: Pascal's Triangle

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>

Show all headers | View raw


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


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