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