遞迴函式的應用

2022-06-15 22:33:25 字數 1060 閱讀 5135

一、遞迴函式

不應該無限次的呼叫函式,應該滿足某種條件來結束。

#

遞迴函式的應用

n=0while n<10:

print

(n) n+=1

#運用遞迴實現

deff1(n):

if n==10:

return

#結束遞迴

print

(n) n+=1f1(n)

view code

特點:回溯

遞迴二、應用

1

#運用遞迴遍歷列表中的值

2 l=[1,[2,[3,4,[4,[5,[6,[22,[7,8]]]]]]]]

3def

f1(list1):

4for x in

list1:

5if type(x) is

list:

6f1(x)

7else:8

print

(x)9

10 f1(l)

view code

經典應用:二分法

#

函式的呼叫——二分法

nums=[-3,1,2,3,5,6,6,10,34,56,77,87]

find_num=10

defsearch(find_num,l):

print

(l) mid_index=len(l)//2 #

拿到中間元素的索引

mid_val=l[mid_index]

if find_num>mid_val:

l=l[mid_index+1:]

search(find_num,l)

elif find_num

l=l[:mid_index]

search(find_num,l)

else

:

print('

find it')

search(10,nums)

view code

遞迴的應用

遞迴是指函式 過程 子程式在執行過程中直接或間接的呼叫自身而產生的重入現象。在定義乙個過程或函式時出現呼叫本過程或本函式的成分,稱為遞迴。若呼叫自身,稱為直接遞迴。若過程 或函式p呼叫過程或函式q,而q又呼叫p,稱為間接遞迴。在以下三種情況下,需要用到遞迴的方法。1.定義是遞迴的 有些數學公式 數列...

練習二十七 遞迴函式應用

問題 需要利用遞迴函式呼叫得方式,將獲取到得輸入字元,以相反順序分別輸出出來 1 def factorial s,l 2if l 0 如果長度為0,直接返回就好了 3return 4print n l 1 end 第一次列印出最後乙個數,後續將列印l n,直到l 0後,直接返回 5return fa...

遞迴之遞迴的函式

遞迴的函式 time limit 1000 ms memory limit 65536 kib submit statistic discuss problem description 給定乙個函式 f a,b,c 如果 a 0 或 b 0 或 c 0 返回值為 1 如果 a 20 或 b 20 或...