php递归思想举例之唐僧扫塔

原文博客:煜儿博客
大雁塔一共5层,观音对唐僧说,你去扫塔,扫完了给你件绝世无双的袈裟,但是有条件:【必须拿到2楼的腰牌】
唐僧扫到了二楼,二楼的楼管说,必须拿到3楼的腰牌,才能给你2楼的腰牌;

【新条件:扫到3楼,拿腰牌】
唐僧扫到了三楼,三楼的楼管说,必须拿到4楼的腰牌,才能给你3楼的腰牌;

【新条件:扫到4楼,拿腰牌】
于是唐僧又扫到了四楼,四楼的楼管说,必须拿到5楼的腰牌,才能给你4楼的腰牌;

【新条件:扫到5楼,拿腰牌】
唐僧终于扫到了五楼,五楼的楼管把腰牌给了唐僧;

唐僧带着5楼的腰牌去拿4楼的腰牌,然后又带着4楼的腰牌去拿了3楼的腰牌,接着又到2楼拿了腰牌,拿到2楼腰牌后找到了观世音,换了一件袈裟。

参数:楼层数
目标值:5楼腰牌
自调用:不断扫塔

思路:递归可以看做是‘函数的自调用(不断扫塔)’,在‘自调用’的过程中,有一个变化的‘参数(楼层数)’,当‘参数’达到你的目标值(拿到5楼腰牌)时,就会终止‘自调用’过程,返回你所希望的值。

========== 以上属个人理解,如有错误,请大家指正 ========

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 丹麦摄影师Peter Funch 就花9年做了一个实验: 每天早上8:30到9:30, 在同一地点中央车站蹲拍。 ...
    页小禾阅读 516评论 0 0
  • 前一段时间,我每天晚上固定在九点左右开始这点东西,随便什么,想到什么就写什么,没有提前去罗列清晰的框架,就只是随意...
    微风008阅读 161评论 2 3
  • 早上做好饭叫菡起床,让她走走看看脚腕还疼么,她说一点点,问她影响早上跳绳不,她说能坚持没问题。吃完早饭差不多到点出...
  • 说起团购,以前还认识一位老板,当时正是团购如火如荼的时候,他们自己搞了一个,然后让员工自己上去团刷单。比如说团鞋子...
    kafkaliu阅读 228评论 0 1