猴子吃桃问题java
问题描述:
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 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;
}
}
}
结果截图如下:
正确输入:

错误输入:

兄弟们继续加油!!!

浙公网安备 33010602011771号