Алгоритм получает на вход натуральное число > 1 и строит по нему новое число следующим образом:
-
Если исходное число кратно 2, оно делится на 2, в противном случае из него вычитается 1.
-
Если полученное на предыдущем шаге число кратно 3, оно делится на 3, в противном случае из него вычитается 1.
-
Если полученное на предыдущем шаге число кратно 7, оно делится на 7, в противном случае из него вычитается 1.
-
Число, полученное на шаге 3, считается результатом работы алгоритма.
Пример. Дано число = 44. Алгоритм работает следующим образом:
-
Число 44 кратно 2, оно делится на 2, получается 22.
-
Число 22 не кратно 3, из него вычитается 1, получается 21.
-
Число 21 кратно 7, оно делится на 7, получается 3.
-
Результат работы алгоритма = 3.
Сколько существует различных натуральных чисел , при обработке которых получится = 1?
Решение:
Решение на Python:
otv = []
for N in range(2, 1000):
R = N
for d in (2, 3, 7):
if R % d == 0:
R //= d
else:
R -= 1
if R == 1:
otv.append(N)
print(len(otv))
Ответ: 5