猴子吃桃問題java
阿新 • • 發佈:2022-04-02
問題描述:
猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個。第二天早上又將第一天剩下的桃子吃掉一半,有多吃了一個。以後每天早上都吃了前一天剩下的一半零一個。到第 10 天早上想再吃時,發現只剩下一個桃子了。編寫程式求猴子第一天摘了多少個桃子
採用遞迴的方法解決:
程式碼如下:
public static void main(String[] args) { Scanner sca = new Scanner(System.in); //這裡靈活一點 System.out.print("輸入第幾天可查詢其當天猴子剩下的桃子數:"); int n = sca.nextInt(); EatPeach eat = new EatPeach(); int sum = eat.peach(n); if(sum != -1) System.out.println("第" + n + "天的桃子數為:" + sum); else System.out.println("FBI Warning 請輸入1-10的正整數!!!"); sca.close(); } public int peach(int day){ if(day == 10) { return 1; }else if(day >= 1 && day <=9 ) { //如果不是第十天,就返回後一天的二倍並且加一 return (peach(day+1)+1)*2; }else { return -1; } }
}
結果截圖如下:
正確輸入:
錯誤輸入:
兄弟們繼續加油!!!