题目:

小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子,每个格子里写一个字,如下所示:

从我做起振
我做起振兴
做起振兴中
起振兴中华

比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。

要求跳过的路线刚好构成“从我做起振兴中华”这句话。请你帮助小明算一算他一共有多少种可能的跳跃路线呢?

思路:

仍然是采用递归,定义一个fun方法,里面两个参数x,y分别表示横纵坐标。按照题目的要求,最开始的坐标为(5,4),向右走y不变,x-1;向下走x不变,y-1。自(5,4)向右走,方法有p中,自(5,4)往下走方法有q种,则总方法数应当为p+q,因此组成完整话语的方法是f(x-1,y)+f(x,y-1);出口则应该设置为当x=1 or y=1,因为此时,从这点到达(1,1)的方法仅一种,即向下(当x=1),向右(y=1)

源代码:

运行结果:

递归就是把一个大任务递归为多个相似的小任务,即寻找相似性,随着x和y的值越来越小,最后达到一个极限,这个极限就是递归的出口。看懂这几行代码后我是真的惊了,不得不承认自己是菜鸟[擦汗]

最新文章

  1. Docker的安装
  2. Andrew Ng机器学习公开课笔记 -- 学习理论
  3. 图片加载完后执行js
  4. 必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1
  5. AC自动机 - 多模式串的匹配运用 --- HDU 3065
  6. 无线路由器wds桥接技术+丢包率
  7. VK Cup 2012 Round 3 (Unofficial Div. 2 Edition)
  8. GWT中实现跳转及不同entrypoint怎么互相访问
  9. Linux 下最为人熟知的解压缩工具
  10. Java 枚举随笔
  11. install cuda5 on ubuntu12.04
  12. JS-将input输入框写入的小写字母全部转换成为大写字母的JS代码
  13. 算法竞赛之递归——输出1-n的所有排列
  14. 目标检测 IOU(交并比) 理解笔记
  15. Magic Stones CodeForces - 1110E (思维+差分)
  16. DLNg第三周:序列模型和注意力机制
  17. Netty 学习资料
  18. C语言 · 征税程序
  19. 这几天bug多,自我检讨一下
  20. [日常] MySQL的哈希索引和原理研究测试

热门文章

  1. symfony开发步骤简述
  2. 在家想自学Java,有C语言底子,请问哪本书适合?
  3. 小白学 Python 数据分析(4):Pandas (三)数据结构 DataFrame
  4. CVE-2019-0232:Apache Tomcat RCE复现
  5. 2020-02-19Linux学习日记,第一天
  6. ArtiPub:一款开源的一文多发平台
  7. Nginx + Linux 性能调优
  8. Shell脚本 硬盘监控
  9. [Linux-CentOS7]安装Telnet
  10. Windows更改、自定义键盘功能键