题目:
某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?” 答案是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); } } }