分享今天看到的一句话,与大家共勉。
先看做了什么,再看能做什么,最后才考虑想做什么。
今天在复盘scala调用递归函数,下面用一段代码来分析一下:
问题引入 :猴子吃桃子问题有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个!以后每天猴子都吃其中的一半,然后再多吃一个。当到第十天时,想再吃时(还没吃),发现只有 1 个桃子了。问题:最初共多少个桃子?
代码实现(以第7天为例)
object recursive_fun {
def main(args: Array[String]): Unit = {
println(f1(7))
}
def f1(day:Int): Int = {
if (day == 10){
1
}else{
(f1(day + 1) + 1) * 2
}
}
}
代码实现逻辑(以第7天为例)