Какая разница, как кодируется клетка поля? Для обозначения её координаты достаточно 6 битов, но сама доска кодируется простой последовательностью 64 значений [тип фигуры и цвет либо пустая]. Но у короля в общем случае 8 ходов. Я понимаю, рассматриваются не все возможные ходы короля в процессе игры, их, грубо говоря, бесконечно, а только варианты одного хода. На него нужно, понятное дело, три бита, но в шахматах записывается иначе: тип фигуры, позиция, цель; например: Фh5:f7 (ферзь с h5 на f7). Т. е. 3 бита на фигуру (6 вариантов фигур), 6 битов на начало хода и столько же на конец, независимо, король это или другая фигура. Задание не совсем понятно написано.
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018 Внимание! Если программа не работает, обновите версию!
begin var (x,y):=ReadInteger2('Введите через пробел два числа:'); if (x<0) or (y<0) then Writeln('Ввод отрицательных чисел недопустим') else begin while y>0 do (x,y):=(y,x mod y); Writeln('НОД=',x) end end.
Примеры Введите через пробел два числа: 14 -2 Ввод отрицательных чисел недопустим
Введите через пробел два числа: 32 76 НОД=4
2. Традиционный "школьный" код
var x,y,t:integer;
begin Write('Введите через пробел два числа: '); Read(x,y); if (x<0) or (y<0) then Writeln('Ввод отрицательных чисел недопустим') else begin while y>0 do begin x:=x mod y; t:=x; x:=y; y:=t end; Writeln('НОД=',x) end end.