题解 | 汽水瓶
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while(in.hasNextInt()){ int i = in.nextInt(); if(i==0){ continue; } System.out.println(count(i)); } } public static int count(int n){ if(n<2){ return 0; } if(n==2){ return 1; } int remain = n%3; //剩余的空瓶子 int drink = n/3; //换得的空瓶子 if(remain+drink<2){ return drink; } if(remain+drink==2){ return drink+1; } int result= drink+count(remain+drink); return result; } }
递归