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