1) В десятичной:15408324071457
Procedure factorize(n: longint);
var divisor: longint;
begin
divisor := 2;
while divisor * divisor <= n do
if n mod divisor = 0 then
begin
n := n div divisor;
writeln(divisor);
end
else inc(divisor);
if n <> 1 then writeln(n);
end;
var n: longint;
begin
readln(n);
factorize(n);
end.
Т.к. всего команд выполнено 40, x из них "Назад 1", а x-8 "Вперёд 2". 2x-8=40, значит 24 команды "Назад 1" и 16 команд "Вперёд 2". Он переместился вперёд на 16*2=32 единиц и назад на 24 единицы, т.е. за выполнение всей программы он переместился вперёд на 32-24=8 единиц. Ответ: Вперёд 8
Var i:integer;
begin
for i:=100 to 999 do
if sqr(i div 100) = i div 10 mod 10 + i mod 10 then writeln(i);
end.
Результат:
101
110
204
213
222
231
240
309
318
327
336
345
354
363
372
381
390
479
488
497