모두의 파이썬_재귀호출

재귀호출로 최댓값 찾기

정답

#n개중에 최댓값 찾기 재귀호출로

v=[56,46,2,4,78,98,24,56,79,0,4,13]
def find_max(a,n):
    if n==1:
        return a[0]

    max_n_1=find_max(a,n-1)

    if max_n_1 > a[n-1]:  #n-1개중 최대값과 n-1번 위치값을 비교
        return max_n_1

    else:
        return a[n-1]


print(find_max(v,len(v)))

의문점

  1. find_max를 재귀호출할떄 알고리즘돌아가는게 어떻게 돌아가는지 잘 모르겠다. 나중에 그림그려 여기에올리기!

재귀함수로 피보나치수열

정답

#피보나치수열  

def fibonati(a):
    if a<=1:
        return a


    return fibonati(a-2)+fibonati(a-1)

print(fibonati(7))

의문점

어떻게 되는지 모르겠음 ..ㅎ

좋은 웹페이지 즐겨찾기