У исполнителя Умножатор две команды, которым присвоены номера: 1. умножь на 3 2. прибавь 2 Первая из них увеличивает число на экране в 3 раза, вторая — прибавляет к числу 2. Составьте алгоритм пол...
У исполнителя Умножатор две команды, которым присвоены номера:
1. умножь на 3
2. прибавь 2
Первая из них увеличивает число на экране в 3 раза, вторая — прибавляет к числу 2. Составьте алгоритм получения из числа 2 числа 66, содержащий не более 5 команд. В ответе запишите только номера команд. В ответе запишите только номера команд. (Например, 12212 — это алгоритм: умножь на 3, прибавь 2, прибавь 2, умножь на 3, прибавь 2, который преобразует число 2 в 32.) Если таких алгоритмов более одного, то запишите любой из них.
Ответ(ы) на вопрос:
Гость
Начнем с конца.
66 (делим на 3) [1]
22 ( на 3 не делится, значит отнимаем 2) [2]
20 ( на 3 не делится, значит отнимаем 2) [2]
18 (делим на 3) [1]
6 (делим на 3) [1]
2
Ответ : 11221
Гость
Ответ: 11221
Ход решения:
Procedure Find(a : Integer; s : String);
Begin
If a=66 then Writeln(s);
If Length(s)<5 then
Begin
Find(a*3,s+'1');
Find(a+2,s+'2');
end;
end;
Begin
Find(2,'');
end.
Не нашли ответ?
Похожие вопросы