в худшем случае
в худшем случае - за десять.
Правильный выбор структур данных - это уже половина решения. Итак, структуры данных и процедура их инициализации.
Const Pmax=6*6*6*6;
Type Post=String[4];
Var A:array[1..Pmax] of Post;
B:array[1..Pmax] of boolean;
cnt:integer;{счетчик числа ходов}
ok:boolean;{найдено решение}
procedure Init;
var i,j,k,l:integer;
begin
for i:=1 to 6 do
for j:=1 to 6 do
for k:=1 to 6 do
for l:=1 to 6 do A[(i-1)*216+(j-1)*36+(k-1)*6+l]:= Chr(i+Ord(‘0’))+Chr(j+Ord(‘0’))+Chr(k+Ord(‘0’))+Chr(k+Ord(‘0’));
for i:=1 to Pmax do B[i]:=true;
cnt:=0;ok:=false;
end;
Поясним на примере идею решета. Пусть длина последовательности равна двум, а количество цветов - четырем. Ребенок загадал 32, а компьютер спросил 24. Ответ ребенка 1 0, фиксируем его в переменных kr (1) и bk(0).
A B B (после анализа bk) B (после анализа kr) Результат
11 true false false
12 true true
13 true false false
14 true false false
21 true false false
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа