Так с наскоку увидеть перестановку не получилось, и для улучшения зрения сделана программка Возможные перестановки хранятся в массиве Xchng. В программе сделана проверка на две перестановки, что, по большому счёту избыточно, т.к. кратчайшее решение содержит всего одну перестановку. но дополнить программу проверками на 3 и 4 перестановку можно.
Если дальше завершить программу, то получим это: program HelloWorld; function ez(a: longint): boolean; var c: integer; begin ez := a >= 2; for c := 2 to trunc(sqrt(a)) do if a mod c = 0 then ez := false end; var i, k: integer; num: array [1 .. 100] of integer; begin for i := 0 to 99 do num[i+1] := i + 1; k := 0; i := 1; while k < 7 do begin if ez(num[i]) = true then k := k + 1; i := i + 2; end; write(num[i-2]); end. ответ 19
Это обычный дешифратор. С увеличением А появляется 0 на очередном Q. Все остальные Q =1 (потому, что Q с инверсией).
А0 А1 А2 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
0 0 0 0 1 1 1 1 1 1 1
1 0 0 1 0 1 1 1 1 1 1
0 1 0 1 1 0 1 1 1 1 1
1 1 0 1 1 1 0 1 1 1 1
0 0 1 1 1 1 1 0 1 1 1
1 0 1 1 1 1 1 1 0 1 1
0 1 1 1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 1 1 1 0
Объяснение:
Рисовать здесь не умею, но думаю понятно.