用Java编程计算猴子吃桃问题
2014-03-06 03:19
232 查看
猴子吃桃问题:
猴子吃桃子问题:猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
分析:
假如每天有x个桃子,猴子吃了一半加一个,就是吃了x/2+1个,那么剩余x-(x/2+1)=x/2-1个;
这样,第二天有x/2-1个桃子供当天使用。
我们可以看出这么一个规律:今天的桃子个数+1再乘2等于昨天的桃子个数;用上面的表达式就是( x/2-1 +1 )*2=x。
如此,只要知道了最后一天的桃子个数,知道了最后一天是第几天,就可以逆推出第一天总共多少个桃子了-----我当时就是如此逆推的。
用java实现,代码如下:
public class test2 {
public static void main(String[] args){
int t = 1;
for(int i=1;i<10;i++){
t=(t+1)*2;
}
System.out.println("the initial number of peachs is:"+t);
}
}
猴子吃桃子问题:猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
分析:
假如每天有x个桃子,猴子吃了一半加一个,就是吃了x/2+1个,那么剩余x-(x/2+1)=x/2-1个;
这样,第二天有x/2-1个桃子供当天使用。
我们可以看出这么一个规律:今天的桃子个数+1再乘2等于昨天的桃子个数;用上面的表达式就是( x/2-1 +1 )*2=x。
如此,只要知道了最后一天的桃子个数,知道了最后一天是第几天,就可以逆推出第一天总共多少个桃子了-----我当时就是如此逆推的。
用java实现,代码如下:
public class test2 {
public static void main(String[] args){
int t = 1;
for(int i=1;i<10;i++){
t=(t+1)*2;
}
System.out.println("the initial number of peachs is:"+t);
}
}
相关文章推荐
- 用Java编程计算兔子生兔子的问题
- 有10(100人或者n个)个人围成一圈,从第一个人开始报数(报1、2、3),只要报3的人就出去, 然后不停的循环报数,直到最后剩下一个人,计算出这个人最开始的位置。其实就是约瑟夫环问题
- iOS--手动计算frame的精度丢失问题
- 关于计算两个时间间隔问题
- 云计算问题集锦
- js浮点数精度问题(js计算中遇到的坑)
- Cache – 主存的地址映射及相关计算问题
- java中计算金额问题
- Java中的浮点型(Double&Float)计算问题
- ACM 计算几何中的精度问题(转)
- 猴子吃桃子问题
- Java编程的几个注意问题(随时添加)
- 猴子选大王问题
- 用python实现多只猴子分桃问题
- JS 大坑 之 0.1+0.2 计算精度的问题
- js跟java计算文件MD5不一致问题
- Java中浮点型数据Float和Double进行精确计算的问题
- ScrollView中嵌套ListView高度无法计算问题
- Python入门经典 以解决计算问题为导向的Python编程 待完好
- JOJ 2109 && POJ 1981 Circle and Points 计算几何 单位圆覆盖问题