题目:
某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?” 答案是5瓶 方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。 然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。 如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝
运行演示结果
代码演示
// 包名
package top.gaojc;
// 导包
import java.util.Scanner;// 声明一个类名为Main的类
public class Main {// mian方法 程序入口public static void main(String[] args) {/** 某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?” 答案是5瓶 * 方法如下:* 先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。* 然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。 * 如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝*/// 键盘输入Scanner scan = new Scanner(System.in);// 获取用户输入的空瓶子数量int n = scan.nextInt();// 现在手中的汽水数量int now = 0;// 总共喝的汽水数量int sum = 0;// 使用while循环判断 如果余下的瓶子数量大于2 则继续执行while (n > 2) {// 换来的汽水数量now = n / 3;// 总共喝的汽水数量sum += now;// 重置now = 0;// 计算剩余瓶子数量n = n % 3 + n / 3;}// 余下的空瓶子数量如果为2 则可以再借一瓶 执行+1操作 否则直接输出总共喝的汽水数量if (n == 2) {// 输出System.err.println(sum + 1);} else {// 输出System.err.println(sum);}}
}