![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Приветствую, возможно, кто -то уже реализовывал расчет чисел фибоначчи, но мне необходима обратная операция по вычислению N-го число последовательности, имея на руках число фибоначчи, при этом код должен быть максимально быстрым (возможно использования массива с предыдущими расчетами). Например, имеем последовательность 01123581321345589144233377610, вычисления показывают N=15.
Код:
Последний раз редактировалось Vayrus, 31.05.2019 в 12:29. |
#2
|
|||
|
|||
![]() Код писать лень.
Не самый быстрый из возможных алгоритмов - цикл с памятью. Т.е. сам принцип нахождения N все тот же - расчет и сравнение. При расчете надо заполнять массив для убыстрения дальнейших итераций. Ну и начало поиска - от последнего элемента массива. Т.е. если введенное число больше, чем последнее расчитанное, то считаем с последнего пока не попадем (ну или превысим N, тогда введенное число не является числом фибоначчи). Если меньше - то просто проверяем по массиву. |
#3
|
||||
|
||||
![]() В яндекс собеседуешься?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#4
|
||||
|
||||
![]() Да
неет ![]() ![]() ![]() |