Форум » Рекурсивные процедуры и функции » Задача 4541, неправильный ответ » Ответить

Задача 4541, неправильный ответ

Skryl Nikita: def f(n): if n == 0: return 0 elif n % 2 == 0: return f(n // 2) - 1 elif n % 2 != 0: return 1 + f(n - 1) a = [] for i in range(1, 1000): if f(i) == 0: a.append(i) print(len(a)) Ответ данного кода:40 Ответ на сайте:41. Был бы благодарен доп. к ответу на задачу еще комментарий, как оформлять код при создании вопроса, чтобы выглядело нормально

Ответов - 1

Ж: смотрите выше правила, там в желтой рамочке прописано: Программы "заворачивайте" в тэг ... Вы взяли натуральные числа (от 1), а там такого ограничения нет. Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, [pre2] def f(n): if n==0: return 0 if n%2==0: return f(n//2)-1 return 1+f(n-1) k=0 for n in range(1000): k+=(f(n)==0) print(k) [/pre2]



полная версия страницы