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

Задача 3817

Татьяна Сучкова: Добрый день! Задача 3817 Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями: F(1) = 1 F(n) = F(n/2) + 1, когда n ≥ 2 и чётное, F(n) = F(n - 1) + n, когда n ≥ 2 и нечётное. Назовите минимальное значение n, для которого F(n) равно 19. Решали двумя методами: через цикл пока и цикл для. Последнее решение прилагаю: [pre2]def F(n): if n <= 1: return 1 if n % 2 == 0: return F(n / 2) + 1 else: return F(n - 1) + n for n in range(1, 1000): if F(n) == 19: print(n) [/pre2] В любом случае ответ дает 448. Что не так? вроде все прозрачно, но с ответом не сходится ((

Ответов - 1

Поляков: Спасибо, вы правы. Ответ исправлен.



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