喝1000瓶水问题
Posted hetaoyuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了喝1000瓶水问题相关的知识,希望对你有一定的参考价值。
题目如下:假设有N瓶水(当然N>0吧)
每喝一瓶后可以得到的一个空瓶子
而 每3个空瓶子又能换1瓶水,喝掉以后又得到一个空瓶子,
问题是,你总共能喝多少瓶水,最后还剩余多少个空瓶子?
假设有1000瓶水:
//非递归:
class Main1
public static void main(String[] args)
int buttle;
int emptybuttle = 0;
int count = 0;
for (buttle = 1000; buttle != 0; buttle--)
count++;
emptybuttle++;
if (emptybuttle == 3)
emptybuttle = 0;
buttle++;
System.out.println(buttle);
System.out.println(emptybuttle);
System.out.println(count);
//递归:
class Main2
public static void main(String[] args)
int buttle = 1000;
int emptybuttle = 0;
int count1 = 0;
System.out.println(count(emptybuttle, buttle, count1));
public static int count(int emptybuttle,int buttle,int count1)
if (buttle==0&&emptybuttle==2)
return count1;
if (emptybuttle == 3)
emptybuttle = 0;
buttle++;
return count(emptybuttle+1,buttle-1,count1+1);
以上是关于喝1000瓶水问题的主要内容,如果未能解决你的问题,请参考以下文章
一个有趣的问题,用10只蚂蚁从1000瓶水中找出唯一有毒的一瓶
问题:有1000杯水,其中有一杯是毒水,现在需要从中找出含毒药的水,可以用老鼠来实验;老鼠如果喝了有毒的水,一个小时内必死,请问如何安排试验,能够用最少的实验材料在一个小时内检测出有毒的水?