package com.test; import java.util.Scanner; public class Test105 { public static void main(String[] args) { /* * 有這樣一道智力題:“某商店規定:三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?” * 答案是5瓶,方法如下:先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以后4個空瓶子, * 用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。然后你讓老板先借給你一瓶汽水,喝掉這瓶滿的, * 喝完以后用3個空瓶子換一瓶滿的還給老板。 * 如果小張手上有n個空汽水瓶,最多可以換多少瓶汽水喝? * **/ Scanner scanner = new Scanner(System.in); StringBuffer sb = new StringBuffer(); //喝的水瓶數 int count=0; for(int i=0;i<10;i++) { int num = scanner.nextInt(); if(num==0) { break; }else { calculator(num); } } System.out.println(sb.toString()); } public static void calculator(int num) { int count=0; System.out.println("空瓶子數量:"+num); int shang; //喝到汽水數量 int yu; // boolean target = true; while(target) { if(num<2) { count+=0; target = false; }else if(num==2) { count+=1; target = false; }else { shang = num/3; //喝到 count+=shang; yu = num%3; num = shang+yu; } } System.out.println(count); } }