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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1099069909 中级黑马   /  2016-8-13 13:54  /  658 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

import java.util.Scanner;

public class Test9 {
        public static void  main(String[] args) {
                // 人数由你输入确定
                // 请输入需要可乐的人数);
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入需要可乐的人数:");
                int sum=sc.nextInt();

                // 需要买瓶i,实际可以喝到瓶num;
                //第一个人  需要买第一瓶;有一个瓶盖
                //第二个人  需要买第两瓶;有两个瓶盖
                //第三个人  需要买第三瓶;有三个瓶盖
                //第四个人   不需要购买,直接由前三名的换取一个即可;还剩一个瓶盖
                //第五个人   需要买第四瓶;有两个瓶盖
                //第六个人   需要买第五瓶; 有三个瓶盖;
                //第七个人    不需要购买;    直接由前三名的换取一个即可;还剩一个瓶盖
         //可以看出,从第一瓶开始后或者每次换取一瓶后,再次购买第一瓶的时候得到num+1,第二瓶的时候直接得到两个num+2,
               
                //定义  购买的瓶数  i,可以喝到的瓶数num;
          int num=0;
          int i=1;
        while (num<=sum){
                if(i%2==0){
                        num+=1;
                        }
                else{
                        num+=2;
                }
                i++;
               
        }
        
        //当num=sum 后  i就是要求的值,在while中又多执行了依次i++,得到的就够减去一次1即可
        System.out.println("购买可乐的瓶数是:"+(i-1));
               
               
       
        }
}

1 个回复

倒序浏览
貌似很多人发这个0.0
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马