scala 遞迴函式呼叫原理詳解

2021-10-24 17:21:36 字數 493 閱讀 4347

分享今天看到的一句話,與大家共勉。

先看做了什麼,再看能做什麼,最後才考慮想做什麼。

今天在覆盤scala呼叫遞迴函式,下面用一段**來分析一下:

問題引入

:猴子吃桃子問題

有一堆桃子,猴子第一天吃了其中的一半,並再多吃了乙個!以後每天猴子都吃其中的一半,然後

再多吃乙個。當到第十天時,想再吃時(還沒吃),發現只有

1 個桃子了。問題:最初共多少個桃

子?

**實現(以第7天為例)

object recursive_fun 

def f1(day:int): int = else

}}

**實現邏輯(以第7天為例)

Scala之旅 函式詳解

1.scala的函式預設都有返回,unit類似c 裡面的void def funtion unit 以上的無返回值函式可以簡寫和c 類似 def funtion 2.基於簡潔的追求,scala可以偷懶的地方就 如下是帶返回值的3個等價函式 def adda x int int def addb x ...

遞迴呼叫的原理

遞迴 縮小問題規模,會出現邊界條件,通過返回段回去。遞迴也就是自己呼叫自己。例子 age 5 第5個人的年齡 age 4 第4個人的年齡 age 3 第3個人的年齡 age 2 第2個人的年齡 age 1 第1個人的年齡 age n 第n個人的年齡 ag age n 1 第n 1個人的年齡 給出第1...

函式遞迴呼叫

我們學習了函式的巢狀呼叫,可以在函式中呼叫函式。那麼,如果在乙個函式中,呼叫自己這個函式,那麼,這個執行過程稱為 函式遞迴呼叫。這個函式也稱為 遞迴函式。程式測試例子 程式執行結果如下 在這個測試例子中,我們定義了func函式,在func函式中又呼叫了func函式自己 所以,這個過程稱為 遞迴呼叫。...