Задания
Версия для печати и копирования в MS Word
Тип 7 № 489
i

У ис­пол­ни­те­ля Квад­ра­тор две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра:

 

1.  воз­ве­ди в квад­рат

2.  вычти 1

 

Пер­вая из них воз­во­дит число на экра­не во вто­рую сте­пень, вто­рая умень­ша­ет число на 1. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 5 числа 64, со­дер­жа­щий не более 5 ко­манд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра ко­манд.

(На­при­мер, 11222  — это ал­го­ритм:

воз­ве­ди в квад­рат

воз­ве­ди в квад­рат

вычти 1

вычти 1

вычти 1,

ко­то­рый пре­об­ра­зу­ет число 2 в 13.)

Если таких ал­го­рит­мов более од­но­го, то за­пи­ши­те любой из них.

Спрятать решение

Ре­ше­ние.

По­сле­до­ва­тель­но пой­дем от числа 5 к числу 64:

 

5 − 1  =  4 (ко­ман­да 2);

4 − 1  =  3 (ко­ман­да 2);

32  =  9 (ко­ман­да 1);

9 − 1  =  8 (ко­ман­да 2);

82  =  64 (ко­ман­да 1).

 

Ответ: 22121.

 

При­ве­дем дру­гое ре­ше­ние на языке Python.

def f(flag, x):

if flag == 1:

return x**2

if flag == 2:

return x - 1

x = 5

for flag in range(1, 3):

for flag1 in range(1, 3):

for flag2 in range(1, 3):

for flag3 in range(1, 3):

for flag4 in range(1, 3):

if f(flag, f(flag1, f(flag2, f(flag3, f(flag4, x))))) == 64:

print(flag4, flag3, flag2, flag1, flag)