java递归算法经典实例_java简单编程题问第五个人多少岁?java递归算法经典实例...
下面帶來的是一個非常經典的利用遞歸算法來解答的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递归算法经典实例...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 存储过程知识总结【一】
- 下一篇: SEO笔记—网页结构优化(四)