经典算法题-----猴子吃桃的问题
生活随笔
收集整理的這篇文章主要介紹了
经典算法题-----猴子吃桃的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文將為大家帶來“猴子吃桃的問題”算法的一個解法與詳細解釋,方法不唯一,本篇文章只列舉出一種方法,可以先練習,練習之后查看代碼,這樣更加有助于提高。
文章目錄
- 一、題目
- 二、解題思路
- 三、代碼(含詳細注解)
- 四、規律推導
一、題目
題目描述: 猴子吃桃問題。 猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個。 第二天早上又將剩下的桃子吃掉一半,又多吃一個。 以后每天早上都吃了前一天剩下 的一半零一個。 到第N天早上想再吃時,見只剩下一個桃子了。 求第一天共摘多少桃子。輸入:N 輸出:桃子總數運行結果: 樣例輸入:10 樣例輸出:1534先來看下運行截圖:
二、解題思路
這道題給出了最后一天桃子的數量為1,那么我們可以采用逆推的思維進行求解這道題,找出規律:
大致規律為:1 (1+1)*2=4 (4+1)*2=8 ·· ·· ··
三、代碼(含詳細注解)
public static void main(String[] args) {Scanner input = new Scanner(System.in);int N = input.nextInt();int total = 1 ;for(int i=0 ; i<N-1 ;i++){//如果只為一天,根據題目描述,則為1if(N==1){System.out.println(total);}else{//否則,通過逆推可以求得//具體過程請參考下面講解total=2*(total+1);}}System.out.println(total);}四、規律推導
希望本篇文章可以給您帶來收獲,有興趣的小伙伴點個關注一起學習吧
總結
以上是生活随笔為你收集整理的经典算法题-----猴子吃桃的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maya2011安装方法图文详细教程及U
- 下一篇: 小葵花妈妈课堂开课了:《Runnable