728x90
반응형
피보나치 함수는 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수다.
재귀함수로 구현하는 예시가 많다.
내가 구현한 재귀함수의 피보나치는
def fibo(n):
if n==0:
return 0
elif n==1:
return 1
return fibo(n-1)+fibo(n-2)
print(fibo(6)) #출력:8
이렇게 되는데 가끔 효율성이 떨어져서 알고리즘 문제를 풀면 실패할 때가 있다.
따라서 재귀함수 대신
def fibo(a):
x,y=0,1
for i in range(a):
x,y=y,x+y
return x
print(fibo(6)) #출력값 : 8
을 썼더니 같은 코드여도 성공했다,,!
아니면 내가 재귀함수를 잘 못 구현했을 수도 있다ㅠ___ㅠ
혹쉬나,,, 잘 못된 부분이 있다면 꼭 알려주세요!!!
728x90
반응형
'개발이야기 > python' 카테고리의 다른 글
list 덧셈 (0) | 2020.08.21 |
---|---|
itemgetter 사용하기 (0) | 2020.05.31 |
ascii 변환 (0) | 2020.05.17 |
range 사용하기 (0) | 2020.05.06 |
sorted()와 sort()의 차이 (0) | 2020.05.03 |
댓글