public class Monkey
創(chuàng)新互聯(lián)公司科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供溫江服務(wù)器租用,高防服務(wù)器,成都IDC機(jī)房托管,成都主機(jī)托管等互聯(lián)網(wǎng)服務(wù)。
{
public static void main(String[] args)
{
int sum=0,remain=1;
//每天吃剩的桃子加一個(gè)正好是前一天桃子的一半,每天桃子的總數(shù)就是前一天剩下桃子的數(shù)量
for(int day=9;day=1;day--)
{
sum=(remain+1)*2;
remain=sum;
System.out.println("第"+day+"天還剩"+remain+"個(gè)桃子");
}
System.out.println(sum);
}
}
猴子吃桃問(wèn)題.猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)癮,又多吃了一個(gè).第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè).以后每天早上都吃了前一天剩下的一半零一個(gè).到第十天早上在想吃時(shí),就只剩一個(gè)桃子了.求第一天共摘了多少個(gè)桃子?
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));
}
}
采取倒推法做:
設(shè)第九天剩下n個(gè),應(yīng)該吃掉 (n/2)+1 則 n-(n/2)-1=1 解得 n=4 第九天剩下4個(gè);
同理設(shè)第8天剩下n個(gè),應(yīng)該吃掉 (n/2)+1 則 n-(n/2)-1=4,解得 n=10 第八天剩下10個(gè)
以此類推 第七天剩下 (10+1)x2=22個(gè),第六天剩下 (22+1)x2=46個(gè),第五天剩下(46+1)x2=94個(gè),第四天剩下 (94+1)x2=190個(gè),第三天剩下(190+1)x2=382
第2天剩下 (382+1)x2=766,
第一天有 (766+1)x2=1534個(gè)桃子.
猴子吃桃(java)
class 猴子吃桃{
public static void main(String[]args){
int sum=1;
for (int i=9;i0 ;i-- )
{
sum=(sum+1)*2;
}
System.out.print("猴子吃桃的數(shù)目為:");
System.out.println(sum);
}
}
編程思想是很重要的,這個(gè)問(wèn)題就是倒過(guò)來(lái)考慮的:
public class Test{
public static void main(String []args){
int count=1;
for(int i=0;i9;i++)
{
//每天吃的桃子
count=(count+1)*2;
}
System.out.println("第一天共摘了"+count+個(gè)桃子);
}
}