题解 | #汽水瓶#
汽水瓶
http://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f
模拟
代码
import java.util.*; import java.lang.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n; while ((n = sc.nextInt()) != 0){ System.out.println(drink(n)); } } public static int drink(int num){ int ans = 0; // 用来记录能喝到汽水的总数 // 开始模拟,num表示空瓶数 while (num > 1){ // 瓶子数大于1才有继续换的机会 int temp = num / 3; // 每三个空瓶换一瓶汽水 ans += temp; num = num % 3; // 此时换完之后手上的空瓶数 num += temp; // 将换来的汽水喝完产生的空瓶数加到空瓶数中 if (num == 2){ ans += 1; num = 0; } } return ans; } }