22 lines
592 B
Plaintext
22 lines
592 B
Plaintext
multi: procedure options (main); /* 29 October 2013 */
|
|
declare (i, j, n) fixed binary;
|
|
declare text character (6) static initial ('n!!!!!');
|
|
|
|
do i = 1 to 5;
|
|
put skip edit (substr(text, 1, i+1), '=' ) (A, COLUMN(8));
|
|
do n = 1 to 10;
|
|
put edit ( trim( multifactorial(n,i) ) ) (X(1), A);
|
|
end;
|
|
end;
|
|
|
|
multifactorial: procedure (n, j) returns (fixed(15));
|
|
declare (n, j) fixed binary;
|
|
declare f fixed (15), m fixed(15);
|
|
|
|
f, m = n;
|
|
do while (m > j); f = f * (m-fixed(j)); m = m - j; end;
|
|
return (f);
|
|
end multifactorial;
|
|
|
|
end multi;
|