У исполнителя Квадратор две команды, которым присвоены номера:
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)

