Pull to refresh

Comments 11

А готовая формула из википедии чем не подошла?

Ну прикольно же свою формулу вывести )

В самом начале стоит цель искать n-ое число за линейное от N время, при этом в итоге строится полином, который даёт ответ за константное время.

Если цель была искать за O(1), то, пожалуй, могу согласиться с комменатором выше, предложившим готовую формулу, хоть и имеющую недостатки из-за округлений.

Если же хотелось всё-таки быстрее, чем за линейное время, но не за константу, то уж лучше использовать быстрое матричное умножение, дающее ответ за O(log N)

X = np.array([i for i in range(1, n + 1)])

Зачем эта кустарщина, когда есть np.arange?

X = np.arange(1, n + 1)

Тут, вообще-то, изобретать ничего не нужно: половина чисел Фибоначчи -- это значения гиперболического синуса, а другая половина -- гиперболического косинуса.

Что вы имеете в виду под "половина"? Их же бесконечное количество...

Имелось в виду, что чётные лежат на одной кривой, а нечётные -- на другой.

Чётные -- это числа с чётными номерами, а нечётные -- с нечётными.

Sign up to leave a comment.

Articles