求java高手,解猴子吃桃。第一天吃了一半,发现不够,继续吃另一个,第二天又吃了剩下的一半,又多吃了一

2024-12-19 23:08:35
推荐回答(3个)
回答1:

public class Monkey {

public static void main(String[] args)
{

int count=0;
for(int i=10;i>=1;i--)
{
count+=2*count+1;
}
System.out.println("第一天一共摘了"+count+"个桃子");

}

}

回答2:

public class Eat {
public static void main(String[] args) {
System.out.println(new Eat().eating(1, 10));
}

public int eating(int peaNum, int num){
if(num == 1){
return (peaNum + 1) * 2;
}else{
peaNum = (peaNum + 1) * 2;
return eating(peaNum, --num);
}
}
}
递归操作
10天的话应该是3070个,话说这猴子真TM能吃
不对应该是:1534个,main方法里面传参数应该是9,因为LZ说的是第10天,而不是10天后哈

回答3:

/**
* 根据num返回桃子总数
*
* @param num
* 天数
* @return
*/
public static int monkey(int num) {
if (num == 10) {
return 1;
}
return (monkey(num + 1) + 1) * 2;
}