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

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

 

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

2.  вычти 2

 

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

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

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

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

вычти 2

вычти 2

вычти 2,

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

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

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

Ре­ше­ние.

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

 

42  =  16 (ко­ман­да 1);

16 − 2  =  14 (ко­ман­да 2);

14 − 2  =  12 (ко­ман­да 2);

12 − 2  =  10 (ко­ман­да 2);

102  =  100 (ко­ман­да 1).

 

Ответ: 12221.

 

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

def f(flag, x):

if flag == 1:

return x**2

if flag == 2:

return x - 2

x = 4

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))))) == 100:

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