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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘旭日东升 中级黑马   /  2016-6-8 19:46  /  550 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

啤酒:

2块钱一瓶

4个瓶盖可以换1瓶啤酒

2个瓶子可以换1瓶啤酒

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


3 个回复

倒序浏览
这个不是数学题么, 设几个变量级可以了
回复 使用道具 举报
好深奥的题 好题
回复 使用道具 举报
  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. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马