20 lines
485 B
Text
20 lines
485 B
Text
|
|
# n is input
|
||
|
|
def pascal_upper:
|
||
|
|
. as $n
|
||
|
|
| matrix($n; $n; 0)
|
||
|
|
| .[0] = [range(0; $n) | 1 ]
|
||
|
|
| reduce range(1; $n) as $i
|
||
|
|
(.; reduce range($i; $n) as $j
|
||
|
|
(.; .[$i][$j] = .[$i-1][$j-1] + .[$i][$j-1]) ) ;
|
||
|
|
|
||
|
|
def pascal_lower:
|
||
|
|
pascal_upper | transpose ;
|
||
|
|
|
||
|
|
# n is input
|
||
|
|
def pascal_symmetric:
|
||
|
|
. as $n
|
||
|
|
| matrix($n; $n; 1)
|
||
|
|
| reduce range(1; $n) as $i
|
||
|
|
(.; reduce range(1; $n) as $j
|
||
|
|
(.; .[$i][$j] = .[$i-1][$j] + .[$i][$j-1]) ) ;
|