下面带来的是一个非常经典的利用递归算法来解答的java编程题,下面就和小编一起来看一下这道经典的例题以及利用递归算法如何去解答吧。

下面是题目。

一、题目

首先,我们知道,现在一共有5个人坐在了一起,那么问题来了。

问第五个人多少岁?他表示,比第四个人要大上两岁。

又问第四个人是多少岁?他表示,要比第三个人大上两岁。

问第三个人多少岁?他表示,要比第二个人要大上两岁。

问第二个人多少岁?他表示,要比第一个人大上两岁。

问最后的一个人多少岁,最后一个人表示,自己是十岁的年纪。

那么在已知了上面的这些条件之后,请问,第五个人是多大?年龄是多少岁?

上面的题目你都看懂了吗?在对这个题目进行解答的时候,首先要做的就是弄清楚题目问的到底是什么东西,所以一定要仔细的去看一下,不要误解了题目的意思。

上面都说的很清楚了,相信在经过了一番思考之后,你也有了自己的解题思路了吧,下面就一起来看看,这道题其中之一的解题思路吧,你的解题思路和下面的解题思路是不是一样的呢?

当然是利用递归来解题,下面是具体的思路。

二、思路

这里要利用到递归的方法,递归又分成了回推和递推这两个阶段。

那么,我们想要知道第五个人的岁数的话,就一定要知道第四个人的岁数,依次进行类推。

推到第一个人的年龄是10岁,之后再往回推。

下面是具体的代码实现。

二、代码实现public class Prog23

{

public static void main(String[] args)

{

System.out.println(getAge(5, 2));

}

//求第m位同志的年龄

private static int getAge(int m, int n)

{

if (m == 1)

return 10;

else

return getAge(m - 1, n) + n;

}

}

好啦这道利用递归方法来解答的java编程题还是非常的经典的呢。

除了以上的解题方法之外,你还有什么样的解题方法呢?

你还想了解更多的java经典编程题吗?可以继续关注奇Q工具网的java实例栏目来进行了解和学习哦,希望上面的题目可以对你有所帮助呢。

推荐阅读:

java递归算法经典实例_java简单编程题问第五个人多少岁?java递归算法经典实例...相关推荐

  1. Java简单编程题:大小写转换、兔子生兔子问题、狼追兔子问题、判断英文句子。

    Java简单编程题 1.大小写转换 2.兔子生兔子问题 3.狼追兔子问题 4.判断英文句子 1.大小写转换 输入一串字母 1.将大写转换为小写,小写转换为大写 2.将其全转换为小写 3.将其全转换为大 ...

  2. 尚学堂Java学习第四章课后编程题作业参考答案

    我只是一个学习java 的初学者哈哈哈,代码写的都很烂,望大佬们指点指点. #尚学堂第三章:java面向对象基础 ##课后作业编程题一: 题目:1. 编写 Java 程序用于显示人的姓名和年龄.定义 ...

  3. 【程序23】TestAge.java 题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。 //问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个

    //[程序23]TestAge.java 题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁. //问第4个人岁数,他说比第3个人大2岁.问第三个人,又说比第2人大两岁.问第2个人,说比第 ...

  4. 每天一道JavaSE基础题(二十三、有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。。。。。。)

    **每天一道JavaSE基础题(二十三.有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第3个人大2岁......)** [程序23] 题目:有5个人坐在一起,问第五个 ...

  5. 判断三角形java代码_java基础编程题之异常处理

    以下是刚开始学习java的基础编程题,每天持续更新java每个知识点的题目,持续练习,不断提高java基本功,培养编程能力.今天的练习的十八题是java的异常处理的使用. 1.检测年龄不能为负数和大于 ...

  6. java什么是网络接口_java 网络编程 -- IP地址的表示与网络接口信息的获取(InetAddress和NetworkInterface)...

    使用java进行网络程序的开发,可以说是一件令人愉悦的事情,对于用惯了C++网络接口编程的人来说,当他们首次使用Java开发网络应用程序,会发现java开发网络应用是如此的简单,甚至仅用几分钟时间,您 ...

  7. java 等待几秒_Java并发编程synchronized相关面试题总结

    说说自己对于synchronized关键字的了解 synchronized关键字用于解决多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个 ...

  8. C语言简单编程题——9*9乘法表

    /* 9*9乘法表在大学刚接触C语言是一般就会讲到,9*9乘法表是一个很简单的编程题,但是为了防止后期忘记,先在博客存一份~ 9*9乘法表的思路: 两个乘数都是由1递增,逐渐增大分别在横向和纵向,且递 ...

  9. 3.java基础--- if、switch语句编程题

    java基础- 3if语句编程题 if判断语句 题目1(训练) 李雷想买一个价值7988元的新手机,她的旧手机在二手市场能卖1500元,而手机专卖店推出以旧换新的优惠,把她的旧手机交给店家,新手机就能 ...

  10. 20多岁大专生吐槽:面试39岁同济大学毕业的测试专家,对方却连简单编程题都不会!...

    互联网行业有多残酷? 一个20多岁的大专毕业生吐槽:面试一个39岁的同济大学毕业生,考了一道小编程题,她没做好,其他方面也不是很好.看简历,她之前都是测试专家.测试负责人等. 楼主感叹:不敢想自己的4 ...

最新文章

  1. 量子纠缠为什么不能用于瞬时通讯?
  2. VS与Win7 共舞:用户界面特权隔离
  3. 【强烈推荐】程序猿们,九度Online Judge开始举办月赛啦!!会编程才是王道!!!!!
  4. 在 Eclipse Galileo 中更快地编写 Java 代码使用新的 toString() 生成器
  5. php扩展dio,PHP Dio扩展新函数dio_fdopen参数返回--bad file descriptor的分
  6. Hadoop 大数据平台架构与实践
  7. B00008 C++实现的大整数计算(一)
  8. 戴尔计算机没有硬盘驱动,如果Dell计算机无法从硬盘驱动器启动怎么办
  9. Ansible-template模块使用(jinjia2模板)
  10. 微信小程序开发之组件official-account(配置公众号关注组件)
  11. 测试前置条件及测试点
  12. 网络视频无法快进无法选中进度条
  13. 新手怎么制作word表格
  14. 记录一次使用Autowired报Nullpoint空指针异常的错误
  15. 博士毕业去县城工作,如何是你,怎么选?
  16. 力扣刷题篇——双指针
  17. [md5]批量对txt文件加密
  18. LayUI框架table数据表渲染不适配苹果手机详解!!
  19. 牛客网第二次大回馈,关于第一次使用华为云服务器的小小看法
  20. 飞塔30E防火墙忘记密码,重置密码

热门文章

  1. 打印机服务器启用后自动关闭,共享打印机点击打印就自动关闭该怎么办?
  2. PN序列自相关特性分析
  3. java udp发送速率_项目总结22:Java UDP Socket数据的发送和接收
  4. Vue-cli3 ,js根据汉字或拼音模糊搜索功能,汉字支持同音字、多音字,支持首字母
  5. matlab晶闸管整流电路,整流电路MATLAB仿真实验
  6. Excel数据透视表学习
  7. 前端学习/ Day1/HTTP简单易懂/GET POST/HTTP特性/HTTP与HTTPS/HTTP版本演变/加解密数字签名数字证书
  8. Zynq硬件开发之Xilinx官方技术手册解读(一)
  9. 【下载https协议需要的cer证书】
  10. 客户历程地图最佳实践 - 改善在线购书的体验