"у вас имеется число 0 и две операции с данным числом. первая операция mulпозволяет умножить данное число на 10, вторая операция addпозволяет прибавить число 1.выведите последовательность операции для получения числах. выведите не более 30 операций"
// PascalABC.NET 3.0, сборка 1088 procedure GetOper(n:longint; var Oper:string); begin if n>9 then begin var k:=n mod 10; n:=(n-k) div 10; for var i:=1 to k do Oper:='ADD '+Oper; Oper:='MULT '+Oper; GetOper(n,Oper) end else for var i:=1 to n do Oper:='ADD '+Oper end;
begin var Oper:=''; var n:=ReadInteger('Введите число n: '); GetOper(n,Oper); Writeln(Oper) end.
Тестовое решение: Введите число n: 3542 ADD ADD ADD MULT ADD ADD ADD ADD ADD MULT ADD ADD ADD ADD MULT ADD ADD
procedure GetOper(n:longint; var Oper:string);
begin
if n>9 then begin
var k:=n mod 10;
n:=(n-k) div 10;
for var i:=1 to k do Oper:='ADD '+Oper;
Oper:='MULT '+Oper;
GetOper(n,Oper)
end
else
for var i:=1 to n do Oper:='ADD '+Oper
end;
begin
var Oper:='';
var n:=ReadInteger('Введите число n: ');
GetOper(n,Oper);
Writeln(Oper)
end.
Тестовое решение:
Введите число n: 3542
ADD ADD ADD MULT ADD ADD ADD ADD ADD MULT ADD ADD ADD ADD MULT ADD ADD