

нужно хотя бы идею способа реализации в паскале.или хотя бы просто идею)спасибо за внимание)
program Code;
const
n = 7;
q = 5;
var
a: array[0..n] of Integer;
i, n12, n3, nr: Integer;
Done: Boolean;
begin
for i := 0 to n do
a[i] := 0;
nr := 0;
repeat
n12 := 0;
n3 := 0;
for i := 0 to n - 1 do
case a[i] of
0, 1:
Inc(n12);
2:
Inc(n3);
end;
if (n12 = 3) and (n3 >= 2) then Inc(nr);
Inc(a[0]);
Done := True;
for i := 0 to n - 1 do
begin
if a[i] >= q then
begin
Dec(a[i], q);
Inc(a[i + 1]);
end;
if a[i] <> 0 then Done := False;
end;
until Done;
Writeln(nr);
end.