8 lines
474 B
Text
8 lines
474 B
Text
fcn binomial(n,k){ (1).reduce(k,fcn(p,i,n){ p*(n-i+1)/i },1,n) }
|
|
fcn pascal_upp(n){ [[(i,j); n; n; '{ binomial(j,i) }]]:toMatrix(_) } // [[..]] is list comprehension
|
|
fcn pascal_low(n){ [[(i,j); n; n; binomial]]:toMatrix(_) }
|
|
fcn pascal_sym(n){ [[(i,j); n; n; '{ binomial(i+j,i) }]]:toMatrix(_) }
|
|
fcn toMatrix(ns){ // turn a string of numbers into a square matrix (list of lists)
|
|
cols:=ns.len().toFloat().sqrt().toInt();
|
|
ns.pump(List,T(Void.Read,cols-1),List.create)
|
|
}
|