Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, задан следующими соотношениями:
F(0) = 0;
F(n) = F(n/2), если n > 0 и при этом n чётно;
F(n) = 1 + F(n – 1), если n нечётно.
Сколько существует таких чисел n, что 1 ≤ n ≤ 500 и F(n) = 8?
Ответ:
СтатГрад Вариант ИН2110101 27.10.2021– задание №16
Решение:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
def f(n): if n==0: return 0 if n > 0 and n % 2 == 0: return f(n//2) if n % 2 == 1: return 1+f(n-1) k=0 for i in range(1, 501): if f(i)==8: k+=1 print(k) |
Ответ: 5
