如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝(详解)

题目:

某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?” 答案是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);
		}
	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是阿超

现在二师兄的肉比师父的都贵了.

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值