import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int[] input =new int[10]; int tmp =0; for(int i =0;i<10;i++){ tmp=in.nextInt(); if(tmp==0){ break; } input[i] = tmp; } for(int i =0;i<10;i++){ if(input[i]!=0){ System.out.println(input[i]/2); } } } }
先上代码。这个问题的题目很长,但是只分2种情况:
- 满3空瓶→换1瓶喝掉→少2个瓶子;满2空瓶→借1瓶喝掉→换1瓶返还→少2个瓶子。
- 只有1个瓶子,不能换,也不能借着换。
所以问题其实很简单,只需整除2便可得知有几次少了2个瓶子,也就是喝了几瓶。
结合要求,输入<10个整数,输入0时代表停止输入,那么0就是终止输入和计算输出的边界条件。
代码如上。