原题目描述:
有这样一道智力题:某商店规定:三个空汽水可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?答案是五瓶,方法如下:先用9个空瓶子换三瓶汽水,喝掉三瓶满的,喝完以后四个瓶子,用三个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用三个空瓶子换一瓶满的还给老板,如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
题目分析
设置个计算换取到的瓶子的变量k。
当n是三的倍数时:
采用递归:
k=k+n/3;
更新n为:n=n/3,继续循环,n小于三的时候就退出。
当n不是三的倍数的时候
k=k=n/3;
定义一个变量保存
t=n%3;
更新n=n/3+t继续递归,同时n小于三时退出。
import java.util.Scanner;
//三个空水瓶换一个饮料,现有n瓶饮料一共可以喝多少杯饮料;
public class Main {
public static int Max