public static void main(String[] args) { System.out.println(getMum(1000)); } private static int getMum(int n){ int m = n%3; //剩下的水 int j = n/3; //新换的水。 int sum =0; if (j==0) { return m; }else { sum = (n-m)+getMum(m+j); } return sum; }
public class Main {
public static void main(String[] args) {
System.out.println(f(1000));
System.out.println(g(1000));
}
//算法1
static int f(int n) {
if (n < 3) return n;
int m = n / 3 * 3;
int t = n % 3 + n / 3;
return m + f(t);
}
//算法2
static int g(int n) {
int total = 0;
int counter = 0;
while (n > 0) {
--n;
++total;
++counter;
if (counter == 3) {
counter = 0;
++n;
}
}
return total;
}
}