26 lines
622 B
Text
26 lines
622 B
Text
program lah_numbers;
|
|
loop for n in [0..12] do
|
|
loop for k in [0..n] do
|
|
nprint(lpad(str lah(n,k), 11));
|
|
end loop;
|
|
print;
|
|
end loop;
|
|
|
|
print("Maximum value for lah(100,k):");
|
|
print(max/[lah(100,k) : k in [1..100]]);
|
|
|
|
op fac(n);
|
|
return */{1..n};
|
|
end op;
|
|
|
|
proc lah(n,k);
|
|
case of
|
|
(n=k): return 1;
|
|
(n=0 or k=0): return 0;
|
|
(k=1): return fac n;
|
|
else return (fac n*fac (n-1)) div
|
|
(fac k*fac (k-1)) div
|
|
fac (n-k);
|
|
end case;
|
|
end proc;
|
|
end program;
|