zoukankan      html  css  js  c++  java
  • 第六届蓝桥杯java b组第8题

    乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但不允许赊账。

    请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能得到多少瓶饮料。

    输入

    一个整数n,表示开始购买的饮料数量(0 < n < 10000)

    输出

    一个整数,表示实际得到的饮料数

    例如:

    用户输入

    100

    程序输出

    149

    用户输入

    101

    程序输出

    151

    资源约定

    峰值内存消耗(含虚拟机) < 256M 
    CPU消耗 < 1000ms

    请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

    对于这个题目 我首先想到的是递归 变化的量是瓶盖数目和这一轮没有使用到的瓶盖数目

    这样得出的结果是喝了多少瓶饮料

    代码如下

    import java.util.Scanner;
    
    public class Test8A {
        //用于存储初始的瓶盖数目
        private static int count=0;
        public static void main(String[] args) {
            Scanner scanner =new Scanner(System.in);
            count=scanner.nextInt();
            long start =System.currentTimeMillis();
            int temp=count;//用于存储次的瓶盖数目
            int k=0;//用于存储这一轮瓶盖多余的数目
            fun(temp,k);
            System.out.println(count);
            long end = System.currentTimeMillis();
            System.out.println(end-start);
        }
        private static void fun(int temp, int k) {
            int n=k+temp;//这一轮的数目瓶盖
            int number=0;//这一轮能够换多少个瓶盖
            if(n>=3){
                k=n%3;//这一轮多余的瓶盖数目
                number=n/3;//这一轮能够兑换的瓶盖数目
                count=number+count;//新增多少个
                fun(number,k);
            }else{
                return;
            }
        }
    
    }
    恐惧源于无知,代码改变世界
  • 相关阅读:
    原生js的ajax请求
    如何将一个div水平垂直居中
    python 面向对象(进阶篇)
    Python 面向对象(初级篇)
    python 之 XML的基本应用总结
    python 之 json 与pickle 模块
    python 之configparser模块
    python 中logging模块
    python hashillb 模块
    python sys模块
  • 原文地址:https://www.cnblogs.com/ad-zhou/p/8662796.html
Copyright © 2011-2022 走看看