用java猴子吃桃子问题,第一天吃掉所有桃子的一半多一个,第二天又吃掉剩下桃子的一

java程序... java程序 展开
 我来答
新野旁观者
推荐于2018-03-19 · 知道合伙人教育行家
新野旁观者
知道合伙人教育行家
采纳数:106273 获赞数:787100
从事教育行业30年资深教师。

向TA提问 私信TA
展开全部
猴子吃桃问题.猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第十天早上在想吃时,就只剩一个桃子了.求第一天共摘了多少个桃子?
public class 猴子吃桃 {
static int total(int day){
if(day == 10){
return 1;
}
else{
return (total(day+1)+1)*2;
}
}
public static void main(String[] args)
{
System.out.println(total(1));
}
}
采取倒推法做:
设第九天剩下n个,应该吃掉 (n/2)+1 则 n-(n/2)-1=1 解得 n=4 第九天剩下4个;
同理设第8天剩下n个,应该吃掉 (n/2)+1 则 n-(n/2)-1=4,解得 n=10 第八天剩下10个
以此类推 第七天剩下 (10+1)x2=22个,第六天剩下 (22+1)x2=46个,第五天剩下(46+1)x2=94个,第四天剩下 (94+1)x2=190个,第三天剩下(190+1)x2=382
第2天剩下 (382+1)x2=766,
第一天有 (766+1)x2=1534个桃子.
匿名用户
2011-04-02
展开全部
我在网上找了下:完整的问题是这个吧:“猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。”

int total(int day){
if(day == 10){
return 1;
}
else{
return (total(day+1)+1)*2
}
}

public static void main(String[] args){
System.out.println(total(1));
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tia_nxia
2012-03-07
知道答主
回答量:11
采纳率:0%
帮助的人:1.5万
展开全部
package org.common.velocity;

public class Test {
public static void main(String[] args) {
int sum=0; //桃子的总数
int daysum = 1;//第十天吃剩的桃子总数
for (int day = 9; day>=1; day--) {
//每天吃剩的桃子加一个正好是前一天桃子的一半
sum = (daysum+1)*2;
daysum = sum;
System.out.println("第" + day + "天还剩" + daysum + "个桃子");
}
System.out.println(sum);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大时代暑
2011-04-02 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4111
采纳率:0%
帮助的人:4843万
展开全部
public class Monkey {
public static void main(String[] args) {
int n=9,s=1;
for(n=9;n>=1;n--) {
s=2*s+2;
}
System.out.println(s);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式