Автор | Сообщение |
|
Отправлено: 20.11.21 19:37. Заголовок: Задание егэ
(№ 4128) (А. Богданов) Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями: F(0) = 0 F(n) = 1, когда 1 ≤ n < 3, F(n) = F(n - 1) + F(n - 2), когда n ≥ 3. Определите четыре последние цифры числа F(47). Здравствуйте, вот такая программа def f(n): if n==0: return 0 if n>=1 and n<3: return 1 if n>=3: return f(n-1) + f(n-2) print(f(49)) проблема в том, что значения выше 30 вычисляются долго, а f(49) могу никогда и не дождаться, как мне ускорить процесс?
|
|
|
Ответов - 3
[только новые]
|
|
|
Отправлено: 20.11.21 20:26. Заголовок: from functools impo..
from functools import * @lru_cache(None) def f(n): if n==0: return 0 if n>=1 and n<3: return 1 if n>=3: return f(n-1) + f(n-2) print(str(f(49))[-4:])
|
|
|
|
Отправлено: 06.12.21 13:36. Заголовок: А.Кабанову
Приветствую, Алексей Михайлович! А я только, что задал Вам вопрос по этой задаче! Извините, не знал этот ВАш ответ. Сечас попробую, С уважением, А.Л.
|
|
|
|
Отправлено: 06.12.21 13:48. Заголовок: Кабанову А.М.
Спасибо большое!!! 16.99 - получилось! from functools import * @lru_cache(None) def f(n): if n==0: return 0 if n>0 and n<3: return 1 if n>=3: return f(n-1) + f(n-2) print(str(f(47))[-4:])
|
|
|
|