У исполнителя Утроитель две команды, которым присвоены номера:
1. прибавь 2,
2. умножь на 3.
Первая из них увеличивает число на экране на 2, вторая — увеличивает его в 3 раза.
Программа для Утроителя — это последовательность команд. Сколько есть программ, которые число 1 преобразуют в число ответ
while { не конец последовательности (не известно от куда аффтар получает слова ) } do
begin
Slovo := { Получаем очередное слово последовательности };
if Length(Slovo) <= Length(Prime) then
begin
CopyPrime := Prime;
N := 1;
while (N <= Length(Slovo)) and (Pos(Slovo[N], CopyPrime) > 0 do
begin
Delete(CopyPrime, Pos(Slovo[N], CopyPrime), 1);
Inc(N);
end;
if N > Length(Slovo) then
{ Slovo можно получить из первого слова }
else
{ нельзя получить Slovo из первого слова }
end;
end;
92
Объяснение:
+1; *2; ^2; 2 --> 27
начало 2
3 2+1 1
4 3+1; 2^2; 2*2 3
5 4+1 3
6 5+1; 3*2 3+1=4
7 6+1 4
8 7+1; 4*2 4+3=7
9 8+1; 3^2 7+1=8
10 9+1; 5*2 8+3=11
11 10+1 11
12 11+1; 6*2 11+4=15
13 12+1 15
14 13+1; 7*2 15+4=19
15 14+1 19
16 15+1; 8*2; 4^2 19+7+3=29
17 16+1 29
18 17+1; 9*2 29+8=37
19 18+1 37
20 19+1; 10*2 37+11=48
21 20+1 48
22 21+1; 11*2 48+11=59
23 22+1 59
24 23+1; 12*2 59+15=74
25 24+1; 5^2 74+3=77
26 25+1; 13*2 77+15=92
27 26+1 92