Подумайте в какую клетку переместится робот из клетки обозначенной звёздочкой при выполнении следующего фрагмента алгоритма если справа свободно или снизу свободно то закрасить все если справа стена то влево все если слева стена то вправо все
1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу. 2. Немного изменим ваш код и получим искомое значение x Искомое число х = 16293
var x, y, a, b, k: integer;
begin k:=10000; repeat x:=k; a := 0; b := 0; y := 1; while x > 0 do begin if (x mod 10) mod 2 = 0 then a := a * 10 + x mod 10 else begin y := y * 10; b := b * 10 + x mod 10 end; x := x div 10 end; a := a * y + b; k := k + 1; until a = 26391; writeln(a:8, k-1:8); end.
Uses Crt; const n=10; var a,b:array[1..n] of integer; i,k,t:integer; begin ClrScr; Randomize; for i:=1 to n do begin a[i]:=Random(50); Write(a[i],' ') end; Writeln; for i:=1 to n do begin b[i]:=Random(50); Write(b[i],' ') end; Writeln; Write('k t='); Read(k,t); for i:=1 to n do begin if a[i]>t then a[i]:=a[i]+4; Write(a[i],' ') end; Writeln; for i:=1 to n do begin if b[i]>10*k then b[i]:=b[i]+k; Write(b[i],' ') end; Readkey end.
2. Немного изменим ваш код и получим искомое значение x
Искомое число х = 16293
var
x, y, a, b, k: integer;
begin
k:=10000;
repeat
x:=k;
a := 0; b := 0; y := 1;
while x > 0 do
begin
if (x mod 10) mod 2 = 0
then
a := a * 10 + x mod 10
else begin
y := y * 10;
b := b * 10 + x mod 10
end;
x := x div 10
end;
a := a * y + b;
k := k + 1;
until a = 26391;
writeln(a:8, k-1:8);
end.
const
n=10;
var
a,b:array[1..n] of integer;
i,k,t:integer;
begin
ClrScr;
Randomize;
for i:=1 to n do begin
a[i]:=Random(50);
Write(a[i],' ')
end;
Writeln;
for i:=1 to n do begin
b[i]:=Random(50);
Write(b[i],' ')
end;
Writeln;
Write('k t='); Read(k,t);
for i:=1 to n do begin
if a[i]>t then a[i]:=a[i]+4;
Write(a[i],' ')
end;
Writeln;
for i:=1 to n do begin
if b[i]>10*k then b[i]:=b[i]+k;
Write(b[i],' ')
end;
Readkey
end.
Тестовое решение:
1 6 23 12 47 1 44 24 6 18
31 30 30 29 0 3 43 32 46 21
k t=2 20
1 6 27 12 51 1 48 28 6 18
33 32 32 31 0 3 45 34 48 23