华为研发工程师编程题一——汽水瓶
题目来自牛客网,感谢!
每瓶汽水喝完后留下一个空瓶,每三个空瓶可兑一瓶汽水,允许借汽水的情况下,一定数量的空瓶最多能喝多少瓶汽水?
输入格式
若干行每行输入一个N,代表拥有空瓶数
最后一行输入0,代表用例结束且不应处理此行数据
输入保证行数 < 10 <10 <10,且 1 ≤ N ≤ 100 1\leq N\leq 100 1≤N≤100
输出格式
若干行每行输出对应可喝汽水数
输入范例
3
10
81
0
输出范例
1
5
40
本题基本没有难度,最后结果显然为 ⌊ N / 2 ⌋ \lfloor N/2\rfloor ⌊N/2⌋。问题出在OJ里,实际输入格式与给定的是不一样的,坑人啊
实际输入格式
若干行每行输入一个N,代表拥有空瓶数
以空行或文件输入时无后继行代表用例结束
输入保证行数 < 10 <10 <10,且 1 ≤ N ≤ 100 1\leq N\leq 100 1≤N≤100
实际输入范例
3
10
81
(空或空行)
我的代码实现:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Juice {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String p = null;
List<Integer> bottleList = new ArrayList<Integer>();
while (sc.hasNextLine() && !(p = sc.nextLine()).equals(""))
bottleList.add(Integer.valueOf(p));
sc.close();
for (Integer bottle : bottleList) {
System.out.println(bottle >> 2);
}
}
}