Производим обратные действия: имея команды "разделить на 3", "разделить на 2" и "отнять 1", сделать из 84 львов 1.
Поскольку нам нужно минимальное количество действий, будем пробовать команды именно в том порядке, в котором они указаны выше, только сначала проверяем, можем ли мы получить число, делящееся на 3 без остатка, отняв только 1.
1) 84 делится на 3 без остатка, результат - 28.
2) Ближайший делитель 3 к 28 - это 27, получить его можем в одну команду "отнять 1".
Производим обратные действия: имея команды "разделить на 3", "разделить на 2" и "отнять 1", сделать из 84 львов 1.
Поскольку нам нужно минимальное количество действий, будем пробовать команды именно в том порядке, в котором они указаны выше, только сначала проверяем, можем ли мы получить число, делящееся на 3 без остатка, отняв только 1.
1) 84 делится на 3 без остатка, результат - 28.
2) Ближайший делитель 3 к 28 - это 27, получить его можем в одну команду "отнять 1".
===== PascalABC.NET =====
begin
var n := ReadInteger('n =');
var a := ArrRandom(n, -99, 99);
a.Println
end.