A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© samge 中级黑马   /  2015-12-6 01:09  /  1018 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. import java.util.Scanner;

  2. /**
  3. * *Test10
  4. *                 --28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?
  5. *
  6. * @author samge
  7. *
  8. */
  9. public class Tset10 {
  10.         public static void main(String[] args) {
  11.                 Scanner sc = new Scanner(System.in);
  12.                 System.out.println("请输入需要可乐的人数:");
  13.                 int n = sc.nextInt();
  14.                 buyCola(n);
  15.         }
  16.         /**
  17.          *  该方法实现最少购买可乐数
  18.          * @param n
  19.          */
  20.         private static void buyCola(int n) {
  21.                 int buy = 0; // 最少要买的可乐数
  22.                 int sum = 0; // 可乐可供总数
  23.                 int yu = 0; // 可乐空瓶数
  24.                 while (sum < n) {
  25.                         if (yu == 3) { // 空瓶为3时则换一瓶可乐,即是:3空瓶=1可乐+1空瓶
  26.                                 sum++;
  27.                                 yu = 1;
  28.                         } else { // 算法设置每次买一瓶可乐,每买一瓶可乐。可乐可供总数+1,空瓶+1
  29.                                 buy++;
  30.                                 sum += 1;
  31.                                 yu++;
  32.                         }
  33.                 }
  34.                 System.out.println("需要买:" + buy + " 瓶,空瓶还有:" + yu + " 个");
  35.         }
  36. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马