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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.itheima;

import java.util.Scanner;

/*
* 28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?
* 假如是50人,又需要买多少瓶可乐?(需写出分析思路)

* */
/*
一个人 1瓶    1- 1/3
二个人 2瓶   2-2/3
三个人 3瓶   3-3/3
四个人 3瓶 + 1瓶     3+1  4-4/3
五个人 4瓶 +1瓶       4+1   5-5/3
六个人  5瓶 + 1瓶     5+1  (6-6/3) +1
七个人  5瓶 + 2瓶     5+2  7-7/3
八个人  6瓶 + 2瓶     6+2   8-8/3
九个人7瓶  + 2瓶      6+3   9-9/3 +1
十个人7瓶   + 3瓶     7+3   7-10/3
.....
分析得出:购买的人数减去 瓶盖兑换的 就是需要购买的瓶数,但是当人数为3的整数倍时,需要先买,只有凑够3n个瓶盖才可以兑换
*/

public class Test9 {
        public static void main(String[] args) {
        /*       
         //定义一个键盘录入人数
          Scanner sc = new Scanner(System.in);
                while (true) {
                        System.out.println("请输入人数:");
                        int nextInt = sc.nextInt();
                        System.out.println(nextInt + "个人,你只需要买:  " + method(nextInt) + "瓶可乐");

                }*/
                // 调用 method方法 并打印
                System.out.println("28人 ,你只需要买:  " + method(28) + "瓶可乐");
                System.out.println("50人 ,你只需要买:  " + method(50) + "瓶可乐");
        }

        public static int method(int i) {
                //当人数是3的整数倍时, 是先购买,而不是兑换.所以就需要+1
                //比如 人数为6人时,你就需要购买5瓶可乐,而不是4瓶
                if(i%3==0){
                        return (i - i/3) + 1;
                }
                return i - i / 3;
        }
}

1 个回复

倒序浏览
28人19瓶,50人 34瓶
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马