最近看到一个面试题,觉得类似于脑筋急转弯,手里有10块钱,让去买啤酒,
2块钱一瓶,老板有又说:2个空瓶可以换一瓶啤酒,4个瓶盖可以换一瓶啤酒,这样我们到底可以弄到多少瓶啤酒。
第一次我们可以买:5瓶 (得到5空瓶,5瓶盖)
第二次我们该换了:换3瓶,(剩余4空瓶,4瓶盖);
第三次我们继续换:换3瓶,(剩余3空瓶,3瓶盖);
第四次我们还可以换:换1瓶,(剩余2空瓶,4瓶盖);
第五次发现我们还有可以换:换2瓶,(剩余2空瓶,2瓶盖);
第六次我们手里还可以换最后一瓶:换1瓶,(剩余1空瓶,3瓶盖);
这样加起来我们一共弄了15瓶。
思路我们弄清楚了,这样我们就可以开始写我们的代码了,(写代码之前,一定要把思路弄清楚才可以,不然就大家懂的都懂)。
public class DateWo {public static void main(String[] args) {int money = 10; //我们的十块钱int bottles = money/2; //两个空瓶换一个for(int i=1;i<=bottles;i++) {//当能被2整除时说明空瓶有两瓶可以兑换一瓶,喝的酒+1if( i % 2 == 0) {bottles++;}//当能被4整除时说明瓶盖有4个可以兑换一瓶,喝的酒+1if(i % 4 ==0) {bottles++;}}System.out.println(money + "元钱可以喝" +bottles+ "瓶酒");}}