Хабр
β
Открыть список
Как стать автором
Моя лента
Все потоки
Разработка
Администрирование
Дизайн
Менеджмент
Маркетинг
Научпоп
Поиск
Написать публикацию
Настройки
Войти
Обновить
5
0
Вадим Николаев
@nklvv
Fullstack developer
Подписаться
Отправить сообщение
Профиль
Публикации
1
Комментарии
5
Закладки
13
Ещё
Открыть список
Подписчики
Подписки
Скопировать ссылку на RSS
N-e число обобщённых Фибоначчи за O(log N)
nklvv
31 мая 2021 в 21:10
Ваш алгоритм вычисляет N-е число Фибоначчи из классического ряда Фибоначчи. Если же заменить
return (0, 1)
на
return (0, C)
(где C — некая константа), на выходе получается некорректный результат.
По бенчмаркам ваш код действительно эффективен на больших числах.
N-e число обобщённых Фибоначчи за O(log N)
nklvv
31 мая 2021 в 21:09
Да, с переопределением привычных операторов выглядит опрятнее.
Библиотеки numpy, gpmy2 и т.д. принципиально не хотел применять, хотелось реализовать на чистом Python.
За инфу про timeit спасибо, действительно бенчмарки выходят более гладкими
N-e число обобщённых Фибоначчи за O(log N)
nklvv
31 мая 2021 в 01:23
Верно, готовые библиотеки использовать в рамках статьи я не планировал
N-e число обобщённых Фибоначчи за O(log N)
nklvv
31 мая 2021 в 01:20
Действительно, ваш алгоритм эффективнее на больших числах:
Спасибо, учту
N-e число обобщённых Фибоначчи за O(log N)
nklvv
31 мая 2021 в 00:32
Можно и так, но этот способ мне показался более изящным.
Спасибо за отзыв!
Информация
В рейтинге
Не участвует
Откуда
Россия
Дата рождения
22 октября 2002
Зарегистрирован
20 декабря 2020
Активность
25 сентября в 11:22
По бенчмаркам ваш код действительно эффективен на больших числах.
Библиотеки numpy, gpmy2 и т.д. принципиально не хотел применять, хотелось реализовать на чистом Python.
За инфу про timeit спасибо, действительно бенчмарки выходят более гладкими
Спасибо, учту
Спасибо за отзыв!