函数的递归调用

函数的递归调用:

   定义:在调用一个函数的过程中有出现之间或者间接的调用函数本身
   目的:把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题

递归的基本原理:

  1: 每一次函数调用都会有一次返回.当程序流执行到某一级递归的结尾处时,它会转移到前一级递归继续执行.
  2: 递归函数中,位于递归调用前的语句和各级被调函数具有相同的顺序.
  3: 每一级的函数调用都有自己的私有变量.
  4: 递归函数中,位于递归调用语句后的语句的执行顺序和各个被调用函数的顺序相反.
  5: 虽然每一级递归有自己的变量,但是函数代码并不会得到复制.
  6: 递归函数中必须包含可以终止递归调用的语句.

接下来用例子说明:

   关于求学生年龄,其中已知有5位同学,第5位学生比第4位学生大2岁, 第4位学生比第3位学生大2岁,
   第n名同学比第n-1名同学年龄大两岁,依次向前类推,
   已知第1位同学的年龄为10岁。求第5位同学的年龄。

解题思路:

  • 想知道第5位同学的年龄先知道第4位同学的年龄,Age(5)=Age(4)+2;
    第4位同学的年龄取决于第3位同学的年龄,Age(4)=Age(3)+2;
    第3位同学的年龄取决于第2位同学的年龄,Age(3)=Age(2)+2;
    第2位同学的年龄取决于第1位同学的年龄,Age(2)=Age(1)+2;
    其已知第一位同学的年龄:Age(1)=10;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值