Исполнитель чертёжник перемещается на координатной плоскости, оставляя след в виде линии. чертёжник может выполнять команду сместиться на (a, b) (где a, b – целые числа), перемещающую чертёжника из точки с координатами (x, y) в точку с координатами (x + a, y + b). чертёжнику был дан для исполнения следующий алгоритм:
сместиться на (38,-12)
повтори n раз
сместиться на (17, 12)
сместиться на (a, b)
конец
сместиться на (–16, –21)
определите минимальное натуральное значение n > 1, для которого найдутся такие значения чисел a и b, что после выполнения программы чертёжник возвратится в исходную точку?
var s: string;
k, error, len: integer;
element: array[1..20] of real;
i, rez: real;
const N = -2;
begin
s := IntToStr(x);
len := length(s);
if len = 0 then writeln('Ошибка!')
else
begin i := 0;
rez := 0;
for k := 1 to len do val(s[k], element[k], error);
for k := 1 to len do
begin
i := element[k] * power( N, len - k );
rez := rez + i;
end;
writeln(rez);
end;
end;
var numeric: integer;
begin
write('Введите двоичное число для перевода в систему счисления с основанием (-2): ');
readln(numeric);
write('ответ: ');
convert(numeric);
end.