递归,为函数自己调用自身的函数,按理来说它是会无限的进行下去的。
它的功能是:给一个数,它会返回所有的数量,即一层一层的筛查到底后在返回。
递归一般用来解决一个很困难的问题,人为很难去达到的问题,一般杀毒软件会用到该功能,当它遇到一个文件夹后开始检查该文件夹内的所有内容,当一个查到底后在返回撒谎上一个有分支的另一个文件夹,直到检查完所有的文件夹为止。一般评论区的回复功能也是会使用这项功能解决的,所以递归是常用的一种方法。
例题:现有一堆桃子,一群猴子去吃,它们每天吃半个,扔掉一个 坏的,到了第六天发现桃子只剩一个了,求原来有多少桃子。
根据这道题给出的条件,可以列出“当前天的桃子量=(下一天的+1)*2”。这道题可使用for循环的方法求出,也可使用递归的方法求出:
for循环的方式:
这样就可得出桃子的数量为190个。
递归:
这里面数量会根据“sl=(sl+1)*2”这个公式一直进行下去,直达第六天直到了桃子的数量为1时再将该值进行返回,最后得出最终结果。