有一组人要购买同等人数的饮料,但是如果用三个瓶盖就可以兑换一瓶饮料,那么这一组人没人都喝到一瓶饮料需要购买多少瓶饮料?(可借瓶盖)
很早之前就有遇到了这样的题目,但是以前不是为了做编程什么的,只是在上专业课的时候老师用这个例子来说明工业工程的思想,额呵呵,就是这样。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| import java.util.Scanner; public class AddSum { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println(“一共有多少人需要喝飲料?”); pinggai(sc.nextInt()); } public static int pinggai(int xMan) { int num = 0; int count = 0; int i = 1; while (true) { num++; count++; System.out.println(“第” + num + “个人喝到了饮料! 还剩” + count + “个盖子!”); if (num >= xMan) { System.out.println(“一共买了” + i + “瓶饮料!”); return i; } if (xMan – num == 1 && count == 2) { // 借瓶盖 num++; count = 1; System.out.println(“借了一個盖子,换了一瓶饮料,第” + num + “个人喝到了饮料! 把剩下的” + count + “个盖子还了回去!”); count = 0; System.out.println(“一共买了” + i + “瓶饮料!”); return i; } if (count == 3) { num++; count = 1; System.out.println(“三個瓶盖换了一瓶饮料.第” + num + “个人喝到了饮料! 还剩” + count + “个盖子!”); } if (num >= xMan) { System.out.println(“一共买了” + i + “瓶饮料!”); return i; } i++; } } }
|
如果你发现本程序的BUG,请给我反馈。