Традиционное решение: var n,d1,d2,d3,d4:integer; begin Write('Введите четырехзначное натуральное число: '); Readln(n); d1:=n div 1000; d4:=n mod 10; d3:=(n mod 100) div 10; d2:=(n mod 1000) div 100; n:=1000*d1+100*d3+10*d2+d4; Writeln('Результат: ',n) end.
Решение с использованием символьного представления числа: var s:string; begin Write('Введите четырехзначное натуральное число: '); Readln(s); Writeln('Результат: ',s[1]+s[3]+s[2]+s[4]) end.
Смотри вложение. Клетки: [B], [S] робот пройдёт более 2-х раз -> эти клетки не подойдут под условие. Почему? Потому что каждый цикл робот смещается на 3 клетки влево – через [B], в каждом цикле, робот уже проходит 2 раза, а в следующем цикле он делает это ещё раз, тем самым проваливая условие для данной клетки; [S] – аналогично, поскольку робот, в каждом цикле, пересечёт данную клетку, выходя из клетки [F] в клетку [G].
Для простоты, приведу список клеток из 2 цикла:
[G] станет [S];
[A] станет [B];
[C] станет [D];
[B] станет [E];
[S] станет [F].
Во втором цикле [G] левее на 3 клетки, а её позицию из 1 цикла, теперь, занимает клетка [S].
Нетрудно понять, что ровно 2 раза робот пройдёт только по клетке [C] – [C] станет [D] и больше не будет пройдена роботом.
Остальные клетки робот пройдёт более или менее 2 раз.
var
n,d1,d2,d3,d4:integer;
begin
Write('Введите четырехзначное натуральное число: ');
Readln(n);
d1:=n div 1000; d4:=n mod 10;
d3:=(n mod 100) div 10;
d2:=(n mod 1000) div 100;
n:=1000*d1+100*d3+10*d2+d4;
Writeln('Результат: ',n)
end.
Тестовое решение:
Введите четырехзначное натуральное число: 4567
Результат: 4657
Решение с использованием символьного представления числа:
var
s:string;
begin
Write('Введите четырехзначное натуральное число: ');
Readln(s);
Writeln('Результат: ',s[1]+s[3]+s[2]+s[4])
end.
10
Объяснение:
Смотри вложение. Клетки: [B], [S] робот пройдёт более 2-х раз -> эти клетки не подойдут под условие. Почему? Потому что каждый цикл робот смещается на 3 клетки влево – через [B], в каждом цикле, робот уже проходит 2 раза, а в следующем цикле он делает это ещё раз, тем самым проваливая условие для данной клетки; [S] – аналогично, поскольку робот, в каждом цикле, пересечёт данную клетку, выходя из клетки [F] в клетку [G].
Для простоты, приведу список клеток из 2 цикла:
[G] станет [S];
[A] станет [B];
[C] станет [D];
[B] станет [E];
[S] станет [F].
Во втором цикле [G] левее на 3 клетки, а её позицию из 1 цикла, теперь, занимает клетка [S].
Нетрудно понять, что ровно 2 раза робот пройдёт только по клетке [C] – [C] станет [D] и больше не будет пройдена роботом.
Остальные клетки робот пройдёт более или менее 2 раз.