29 lines
730 B
ObjectPascal
29 lines
730 B
ObjectPascal
program McNuggets;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
const
|
|
ARRAY_SIZE_STEP = 20; // small, to demonstrate extending array dynamically
|
|
var
|
|
i, nr_consec : integer;
|
|
can_do : array of boolean;
|
|
begin
|
|
SetLength( can_do, ARRAY_SIZE_STEP);
|
|
can_do[0] := true;
|
|
nr_consec := 0;
|
|
i := 0;
|
|
repeat
|
|
inc(i);
|
|
if i >= Length( can_do) then SetLength( can_do, i + ARRAY_SIZE_STEP);
|
|
can_do[i] := ((i >= 6) and can_do[i - 6])
|
|
or ((i >= 9) and can_do[i - 9])
|
|
or ((i >= 20) and can_do[i - 20]);
|
|
if can_do[i] then begin
|
|
if can_do[i - 1] then inc( nr_consec)
|
|
else nr_consec := 1;
|
|
end
|
|
else nr_consec := 0;
|
|
until nr_consec = 6;
|
|
WriteLn ('Max that can''t be represented is ', i - 6);
|
|
end.
|