Var
a: array [1..20] of integer;
i, n: integer;
k: longint;
begin
readln(n);
k := 1;
for i := 1 to n do
begin
a[i] := random(10);
write(' ', a[i]);
end;
writeln();
for i := 1 to n do
k := k * a[i];
writeln(k);
end.
Var s,null:string;
i:integer;
begin
readln(s);
for i:= 1 to length(s) do
if i mod 2 = 1 then
null:=null+s[i];
writeln(null);
<span>end.</span>
Просто выполняем алгоритм для каждой из клеток.
Например, 4 клетка в пятом ряду: у неё сверху стенка, поэтому она двигается вправо, оттуда опять вправо, оттуда еще раз вправо и врезается в стенку после 6-й клетки.
4 клетка в третьем ряду: у ней сверху нет стенки, снизу есть, поэтому робот движется влево. Затем снизу нет стенки, а сверху есть, поэтому робот возвращается обратно, и всё повторяется.
6 клетка во втором ряду: у неё ни сверху, ни снизу нет стенок, поэтому она стоит на месте.
Клетки, начав с которых, робот разбивается помечены персиковым цветом, в них указано, о какую стенку он разбивается. Клетки, начав с которых, робот делает конечное число шагов, отмечены бледно-оранжевым цветом, в них указано, в какой клетке остановится робот. Зелёные клетки удовлетворяют условию, их на рисунке 6.
int
main<span>()
{
</span>int
chislo<span>
= 968; // может быть любое число
</span>int
desyatkov
= chislo<span>
/ 10;
</span>chislo
= chislo<span>
% 10;
</span>cout<span>
<< </span>chislo
<< endl<span>;
</span>return<span>
0;
}</span>