Робот находится впроизвольной клетке поля, он должен закрасить все клетки до левого края поля, а затем на две клетки выше закрасить такую же линию клеток. Какая команда пропущена в рекурсивном алгоритме решения данной задачи? алг линия нач закрасить если слева свободно то влево ... иначе вверх вверх все закрасить вправо кон
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018 Внимание! Если программа не работает, обновите версию!
function Sod(Self:integer):integer; extensionmethod; begin Result:=0; while Self<>0 do begin Result+=Self mod 10; Self:=Self div 10 end end;
function IsGood(Self:integer):boolean; extensionmethod; begin var sd:=Self.Sod; Result:=True; for var i:=2 to 9 do begin Result:=(i*Self).Sod=sd; if Result=False then Exit end end;
begin var (a,b):=ReadInteger2; Range(a,b).Where(t->t.IsGood).Println end.
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018 Внимание! Если программа не работает, обновите версию!
begin var (m,n):=(7,5); Writeln('*** Исходная матрица ***'); var a:=MatrRandom(m,n,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var b:=a.Cols.Select(col->col.Min).ToArray; b.Println; var fn:='Результат задачи 1.1.txt'; var f:Text; Assign(f,fn); Rewrite(f); for var i:=0 to m-1 do begin for var j:=0 to n-1 do Write(f,a[i,j]:4); Writeln(f) end; for var i:=0 to n-1 do Write(f,b[i]:4); Writeln(f); f.Close end.
Внимание! Если программа не работает, обновите версию!
function Sod(Self:integer):integer; extensionmethod;
begin
Result:=0;
while Self<>0 do begin
Result+=Self mod 10;
Self:=Self div 10
end
end;
function IsGood(Self:integer):boolean; extensionmethod;
begin
var sd:=Self.Sod; Result:=True;
for var i:=2 to 9 do begin
Result:=(i*Self).Sod=sd;
if Result=False then Exit
end
end;
begin
var (a,b):=ReadInteger2;
Range(a,b).Where(t->t.IsGood).Println
end.
Пример
1 1000
9 18 45 90 99 180 198 297 396 450 495 549 594 693 792 819 891 900 909 918 945 990 999
Внимание! Если программа не работает, обновите версию!
begin
var (m,n):=(7,5);
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var b:=a.Cols.Select(col->col.Min).ToArray; b.Println;
var fn:='Результат задачи 1.1.txt';
var f:Text;
Assign(f,fn); Rewrite(f);
for var i:=0 to m-1 do begin
for var j:=0 to n-1 do Write(f,a[i,j]:4);
Writeln(f)
end;
for var i:=0 to n-1 do Write(f,b[i]:4);
Writeln(f);
f.Close
end.