Алгоритм вычисления значения функции \(F(n),\) где \(n\) – целое число, задан следующими соотношениями:
Сколько различных значений может принимать функция \(F(n)\) при \(n,\) принадлежащих отрезку \([1;~1000]?\)
Решение:
Python
F = {0: 0}
for n in range(1, 1001):
F[n] = F[n // 2] + 3 if n % 2 == 0 else 2 * F[n - 1] + 1
print(len(set([F[i] for i in range(1, 1001)])))
Ответ: \(348\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене