黑马程序员技术交流社区

标题: 实现最少买可乐数的算法~ [打印本页]

作者: samge    时间: 2015-12-6 01:09
标题: 实现最少买可乐数的算法~

  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. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2