先来分析一下:
第一次:150
第二次:150 / 4 = 37 ······2
第三次:(37+2)/ 4 = 9······3
第四次:(9 + 3) / 4 = 33 < 4 所以停止
初始值150瓶水,也就是150个盖子
1.拿所有的盖子去换水,纪录余数和sum
2.(上次的余数+上次换水喝剩的盖子数)/4,纪录余数和sum1
……
无限循环,直到盖子数<4,,
结合代码:
public class Demo3 { public static void main(String[] args) { int n = 150; int sum = 150; while(n >= 4) {
int temp = n % 4; n = (int)(n / 4); sum +=n; n = n + temp; } System.out.println(sum); } }