全員のPython再コール

4347 ワード

再帰呼び出しによる最上位の検索


正解

#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)))

疑問点

  • find maxを呼び出すと、アルゴリズムがどのように実行されているか分かりません.後で絵を描いてここにアップします!
  • 再帰関数でフィボナッチ数を数える


    正解

    #피보나치수열  
    
    def fibonati(a):
        if a<=1:
            return a
    
    
        return fibonati(a-2)+fibonati(a-1)
    
    print(fibonati(7))
    

    疑問点


    どうなるか分からないけど...ほほほ