微信小程序> 腾讯笔试题之贪吃的小Qjava实现代码

腾讯笔试题之贪吃的小Qjava实现代码

浏览量:744 时间: 来源:binary小生
package org.buptdavid.datastructure.zj;import java.util.HashMap;import java.util.Map;import java.util.Set;/** * 小Q的父母要出差N天,走之前给小Q留下了M块巧克力。小Q决定每天吃的巧克力数量不少于前一天吃的一半, * 但是他又不想在父母回来之前的某一天没有巧克力吃,请问他第一天最多能吃多少块巧克力 */public class Demo1 {    static int key=0;    static int value=0;    private static final double tmp=0.5;    private static final int   day =3;//N天    private static final int   food =7;//M块巧克力    public static void main(String[] args) {        while (true){            MapInteger,Integer map=new HashMapInteger, Integer();            map.put(key,value);            key++;value++;            double result = exce(map);            if(result!=-1){                System.out.println("第一天最多吃"+result+"块巧克力");                break;            }        }    }    public static double  exce(MapInteger,Integer map){//        1     x//        2     x+x*0.5//        3     x+(x*0.5)+(x*0.5)*0.5//        ...        double sum=0;        int key =0;        double temp=0;        double onday=0;        SetMap.EntryInteger, Integer entries = map.entrySet();        for (Map.EntryInteger, Integer entry : entries) {            sum=entry.getValue();            key = entry.getKey();            onday=sum;        }        for (int i = 2; i =day; i++) {            temp=onday*tmp;            sum+=temp;            onday=temp;        }        System.out.println("如果第一天吃"+key+"块,那么到父母出差回来总共吃了"+sum+"块");        if(sum =food){           return  key;        }        return  -1;    }}

运行如下:

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎