그 밖의 방법들

파이썬으로 피보나치 수열을 구하는 여러가지 방법

치킨먹고싶어요 2022. 6. 2. 21:30

1. 일반항으로 구하기

오일러가 발견한 수식입니다. 이를 코드로 옮길 시 아래와 같이 됩니다.

 

r=5**(0.5)
print(round(((1+r)/2)**int(input())/r))
cs

 

증명은 위키피디아를 참조 바랍니다.

https://en.wikipedia.org/wiki/Fibonacci_number

 

Fibonacci number - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Integer in the infinite Fibonacci sequence A tiling with squares whose side lengths are successive Fibonacci numbers: 1, 1, 2, 3, 5, 8, 13 and 21. In mathematics, the Fibonacci numbers

en.wikipedia.org


2. '1 / 998999'로 구하기

1 / 998999 = 0.000001001002003005008013021034055...로 피보나치 수열을 나타냅니다.

from decimal import Decimal
= str(Decimal(1/ 998999)
for i in range(2len(s) - 23): 
print(int(s[i] + s[i + 1+ s[i + 2]))
 
 
cs

이 성질을 이용하여 코드로 나타내 보았습니다.

 

결과:

 

0
1
1
2
3
5
8
13
21
34
55​