题目描述
Ject建有n瓶啤酒,全部喝掉之后就有n个啤酒瓶。现在每3个啤酒瓶就可以换1瓶
啤酒。比如,有10瓶啤酒,喝掉之后有10个啤酒瓶,可以换10/3=3瓶啤酒,还剩1
个啤酒瓶,然后再喝掉去换啤酒,共有1+3=4个啤酒瓶,可换4/3=1瓶啤酒,还剩
1+1=2个啤酒瓶。直到换到啤酒瓶不足3个时结束。问:输入n瓶啤酒,以上面这种
换法,最后Ject建一共可以喝掉多少瓶啤酒,还剩几个酒瓶?
输入
输入一个整数n,n=-1时输入结束。
输出
对应输出两个整数x,y,即一共喝掉的啤酒x瓶,和剩余y个酒瓶。
样例输入
11 3 1 -1
样例输出
16 1 4 1 1 1
【AC代码】:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
if (n == -1)
break;
int sum = n;
while (n / 3 > 0) {
sum += n / 3;
n = n / 3 + n % 3;
}
System.out.println(sum + " " + n);
}
}
}