Posted on 2007-05-29 10:08 
my 阅读(744) 
评论(0)  编辑  收藏  所属分类: 
算法和数据结构 
			 
			
		 
		/*有104瓶啤酒,每3个空瓶子能换一瓶新啤酒,问能喝到多少瓶啤酒?//递归算法*/
class  Test
{   
 int  sum=104;//开始喝的104瓶啤酒
 int  nullsum=104;//空酒瓶
 
 public static void main(String[] args) 
 {
  Test test = new Test();
  test.printSum();
 }
    
 public void printSum(){
  System.out.println("可以喝到"+getSum()+"瓶酒");
  
 }
 
 public  int getSum(){
  int tmp=0;
     if(nullsum>=3){
    tmp=nullsum/3;//喝了多少瓶
    sum+=tmp;
    nullsum=nullsum%3;//还剩多少空瓶子
                nullsum+=tmp;
    getSum();
  }
  else{
      System.out.println("最后剩余空瓶子"+nullsum);
  }
  return sum; 
        
 }
}
//问题是当剩2个空瓶子的时候,如果老板肯借一瓶给你就可以多喝一瓶,呵呵