猴子吃桃问题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;
	}	
}

}

结果截图如下:

正确输入:
image

错误输入:
image

兄弟们继续加油!!!

posted @ 2022-04-02 17:40  yfs1024  阅读(137)  评论(0)    收藏  举报