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

简介: 如果小张手上有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月前
【多思路解决喝汽水问题】1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水
【多思路解决喝汽水问题】1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水
75 0
|
11月前
喝汽水问题
喝汽水问题
47 0
|
7月前
|
算法
算法:3瓶空瓶子可以换一瓶汽水
算法:3瓶空瓶子可以换一瓶汽水
|
12月前
|
C语言
【每日一道智力题】之高楼扔只因蛋
【每日一道智力题】之高楼扔只因蛋
139 0
|
C语言
【C】喝汽水,找单身狗问题
【C】喝汽水,找单身狗问题
82 0
|
Windows
我要喝汽水
我要喝汽水
96 0
我要喝汽水
漫画:有趣的扔鸡蛋问题
扔鸡蛋问题,有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。比如鸡蛋在第9层没有摔碎,在第10层摔碎了,那么鸡蛋不会摔碎的临界点就是9层。
221 0
漫画:有趣的扔鸡蛋问题
|
C语言
【C语言】一道有趣的喝汽水问题(会不会喝?喝不喝?)
【C语言】一道有趣的喝汽水问题(会不会喝?喝不喝?)
118 0
【C语言】一道有趣的喝汽水问题(会不会喝?喝不喝?)
|
弹性计算 云计算
|
开发者 人工智能 云栖大会
除了吃月饼,中秋节还能干啥?
明天 八月十五,团圆夜,花好月圆之际,除了吃月饼,还能干啥?阿里妹带来双重好礼,陪你过中秋~
7394 0

热门文章

最新文章