https://github.com/jrincayc/ucblogo-code
Revision b2685caa788579e22d7176d3d3678494be54a404 authored by Joshua J. Cogliati on 21 December 2019, 04:06:10 UTC, committed by Joshua J. Cogliati on 21 December 2019, 04:06:10 UTC
1 parent d7c152d
Tip revision: b2685caa788579e22d7176d3d3678494be54a404 authored by Joshua J. Cogliati on 21 December 2019, 04:06:10 UTC
Check for messages in executable directory.
Check for messages in executable directory.
Tip revision: b2685ca
multi
program multi;
{Multinomial expansion problem}
var memo: array [0..4, 0..7] of integer;
i,j: integer;
function t(n,k:integer) : integer;
function realt(n,k:integer) : integer;
{without memoization}
begin {realt}
if k = 0 then
realt := 1
else
if n = 0 then
realt := 0
else
realt := t(n,k-1)+t(n-1,k)
end; {realt}
begin {t}
if memo[n,k] < 0 then
memo[n,k] := realt(n,k);
t := memo[n,k]
end; {t}
begin {main program}
{initialization}
for i := 0 to 4 do
for j := 0 to 7 do
memo[i,j] := -1;
{How many terms in (a+b+c+d)^7?}
writeln(t(4,7));
end.
Computing file changes ...