Форум » Рекурсивные процедуры и функции » задание 16 №78 » Ответить

задание 16 №78

lena: Здравствуйте, подскажите, пожалуйста, в чем ошибка. Задача на python:[pre2] def F(n, nest = 0): if nest > 100: return None if n <= 1: return n if n % 3 == 0: f1 = F(n//3 - 1, nest + 1) return n + f1 if f1 else None else: f1 = F(n+3, nest + 1) return n + f1 if f1 else None n = 1 while True: r = F(n) if r != None and r > 1000: print(n) break n += 1 [/pre2] выдает ответ 1821, а не 1092. Не могу понять, почему? Что я делаю не так.

Ответов - 2

Поляков: Нужно поправить так: return n + f1 if f1 != None else None В вашем варианте возвращается None, если f1 = 0. В этой задаче такое может быть.

lena: *PRIVAT*



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