黑马程序员技术交流社区

标题: 算法问题 怎么Java编程 [打印本页]

作者: 刘旭日东升    时间: 2016-6-8 19:46
标题: 算法问题 怎么Java编程

啤酒:

2块钱一瓶

4个瓶盖可以换1瓶啤酒

2个瓶子可以换1瓶啤酒

问:10块钱最多可以喝多少瓶啤酒?如果是n块钱,最大的数是多少?



作者: 星空@3    时间: 2016-6-8 21:45
这个不是数学题么, 设几个变量级可以了
作者: 星际传奇    时间: 2016-6-8 22:07
好深奥的题 好题
作者: ancheng    时间: 2016-6-9 00:18
  1. import java.util.Scanner;

  2. public class Main {
  3.        
  4.         public static void main(String args[]) {
  5.                 Scanner sc = new Scanner(System.in);
  6.                 int n = sc.nextInt();
  7.                 sc.close();
  8.                 System.out.println(beerSum(n));
  9.         }

  10.         private static int beerSum(int n) {
  11.                 if (n < 2) {
  12.                         return 0;
  13.                 } else {
  14.                         int bottle = n / 2;
  15.                         int bottleCap = n / 2;
  16.                         int sum = n / 2;
  17.                         while (bottleCap >= 4 || bottle >= 2) {
  18.                                 int t = bottleCap / 4 + bottle / 2;
  19.                                 bottleCap = bottleCap % 4 + t;
  20.                                 bottle = bottle % 2 + t;
  21.                                 sum += t;
  22.                         }
  23.                         return sum;
  24.                 }
  25.         }
  26. }
复制代码





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