Java酒瓶瓶盖_啤酒、啤酒瓶和瓶盖问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

昨天我也看到了这题,答案是15,并且还剩3个瓶盖1个空瓶。我特地编了个java帮忙解,可以直接复制整个代码运行:

import java.util.*;

public class Main

{

static int input = 12; // 初始金钱

static int output = 0;

static final int PRICE = 2; //价格

static final int exForEMPTY = 2;

static final int exForCAPS = 4;

static int curCaps = 0;

static int curEmpty = 0;

static int bottleFromCaps = 0;

static int bottleFromEmpty = 0;

public static void main(String[] args)

{

output += ( input / PRICE );

curCaps = output;

curEmpty = output;

do {

bottleFromCaps = exCaps(curCaps);

bottleFromEmpty = exEmpty(curEmpty);

output += ( bottleFromCaps + bottleFromEmpty );

} while( (bottleFromCaps != 0 ) || (bottleFromEmpty != 0 ) );

System.out.println("总共瓶数: " + output);

System.out.println("剩余空瓶: " + curEmpty);

System.out.println("剩余瓶盖: " + curCaps);

}

public static int exCaps(int num) {

if ( num < exForCAPS ) return 0;

int bottles = num / exForCAPS;

curCaps = ( num % exForCAPS ) + bottles;

curEmpty += bottles;

return bottles;

}

public static int exEmpty(int num) {

if ( num < exForEMPTY ) return 0;

int bottles = num / exForEMPTY;

curEmpty = ( num % exForEMPTY ) + bottles;

curCaps += bottles;

return bottles;

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值