- package active;
- /*
- * 猜一猜猴子摘了多少桃子呢?
- 猴子吃桃的问题:猴子第一天摘下来N个桃子,当天就吃了一半,但是还不过瘾,又多吃了一个,第二天早上又将
- 剩下的桃子吃了一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个,到第十天早上的时候就发现剩下
- 一个桃子了.求第一天一共摘下了多少桃子呢?
- */
- public class Test1 {
- public static void main(String[] args) {
- Test1 test1 = new Test1();
- test1.reEat();
- }
- // 桃子总数
- int tao;
- // 吃桃子
- void eat(int tao) {
- if (tao != 1) {
- tao = tao / 2 - 1;
- eat(tao);
- } else
- System.out.println("吃完了,剩" + tao + "个");
- }
- // 逆向思维
- // 剩一个
- int taoed = 1;
- int day = 10;
- void reEat() {
- if (day != 1) {
- taoed = (taoed + 1) * 2;
- day--;
- reEat();
- } else
- System.out.println("原来有" + taoed + "个");
- }
- }
复制代码 结果:
原来有1534个 |