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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 越雪 中级黑马   /  2017-4-13 10:40  /  1051 人查看  /  3 人回复  /   3 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
* 28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝? 假如是100人,又需要买多少瓶可乐?
*/
=========================================================================
控制台:
=========================================================================
请输入喝可乐的人数....
100
100人共需要买:67瓶
====================================================================================
/*
* 分析思路: 要买够多少人喝,先一瓶一瓶的买,边买边换,直到可乐总数满足所有人喝为止 可以设可乐总数为sum,购买的瓶数用count来计数
* 每购买一瓶count自加一,可乐总数sum也加一 可乐总数sum达到三的倍数时,就可以用瓶盖再换一瓶,即总数sum加一
* 按以上规律做一个循环,当可乐总数sum满足所有人需要时跳出循环,此时的count值即为需要购买的瓶数
*
*/
======================================================================================
package com.itheima.example;
import java.util.Scanner;

public class CoCo {
        public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);
                System.out.println("请输入喝可乐的人数....");
                int n = sc.nextInt();// 人数
                System.out.println(n + "人共需要买:" + getCount(n) + "瓶");
        }

        public static int getCount(int n) {
                int sum = 0;// 用于记录当前可乐总数
                int count = 0;// 用于记录购买的可乐数
                while (sum < n) {
                        count++;
                        sum++;
                        if (sum % 3 == 0) {
                                sum++;
                        }
                }
                return count;
        }
}




3 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
可以可以,一个不错的算法
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马