/*
让技术飞,每日一题:
今天这题也是来自于自考书上的题目,大家一起来试试吧,提高提高逻辑思维能力,
让你变得更聪明,让你的算法变得更精辟,让你的程序变得更高效。
题目:
草地上有一堆苹果,有一只猴子每天吃这堆苹果的一半又一个,5天后刚好吃完这堆苹果。
问这堆苹果原来共有多少个?猴子每天吃多少个?
(我的答案会在你回答之后公布哦! )
*/
class Test
{
public static void main(String args[])
{
//首先我设了5个变量,分别是代表每一天未吃前的苹果数量
/*
apple1初始化为5的两个原因:
1、是因为总共有五天,它每天吃苹果至少一个,也就是一定会大于5.
2、是因为如果是1的话由于使用的是整数类型,运算第一天的时候就会进入死循环。
*/
int apple1 = 5,apple2 = 0,apple3 = 0,apple4 = 0,apple5 = 0;
while(true) //利用一个无限循环让苹果的数量一直增加,直到符合条件位置才停止
{
apple2 = apple1/2-1; //第一天剩余的苹果
apple3 = apple2/2-1; //第二天剩余的苹果
apple4 = apple3/2-1; //第三天剩余的苹果
apple5 = apple4/2-1; //第四天剩余的苹果
if((apple5/2-1)==0) //判断苹果是否在第五天吃完
break;
apple1++;
}
System.out.println("苹果共有:"+apple1+"个!");
System.out.println("第一天吃了:"+(apple1-apple2)+"个!");
System.out.println("第二天吃了:"+(apple2-apple3)+"个!");
System.out.println("第三天吃了:"+(apple3-apple4)+"个!");
System.out.println("第四天吃了:"+(apple4-apple5)+"个!");
System.out.println("第五天吃了:"+(apple5-0)+"个!");
}
}
|
|