У ис­пол­ни­те­ля Умно­жа­тор две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра: 1. умножь...

0 голосов
464 просмотров

У ис­пол­ни­те­ля Умно­жа­тор две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра:
1. умножь на 3
2. при­бавь 2

Пер­вая из них уве­ли­чи­ва­ет число на экра­не в 3 раза, вто­рая — при­бав­ля­ет к числу 2. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 2 числа 66, со­дер­жа­щий не более 5 ко­манд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра ко­манд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра ко­манд. (На­при­мер, 12212 — это ал­го­ритм: умножь на 3, при­бавь 2, при­бавь 2, умножь на 3, при­бавь 2, ко­то­рый пре­об­ра­зу­ет число 2 в 32.) Если таких ал­го­рит­мов более од­но­го, то за­пи­ши­те любой из них.


Информатика (14 баллов) | 464 просмотров
Дано ответов: 2
0 голосов

Начнем с конца.

66 (делим на 3)  [1]
22 ( на 3 не делится, значит отнимаем 2) [2]
20 ( на 3 не делится, значит отнимаем 2) [2]
18 (делим на 3) [1]
6   (делим на 3) [1]
2

Ответ : 11221

(1.8k баллов)
0 голосов

Ответ: 11221

Ход решения:

Procedure Find(a : Integer; s : String);
Begin
  If a=66 then Writeln(s);
  If Length(s)<5 then<br>  Begin
    Find(a*3,s+'1');
    Find(a+2,s+'2');
  end;
end;

Begin
  Find(2,'');
end.


(5.1k баллов)