RosettaCodeData/Task/Lah-numbers/SETL/lah-numbers.setl
2024-04-19 16:56:29 -07:00

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;