JavaScript-编程

博客内容探讨了如何使用JavaScript解决一个关于孩子分配糖果的问题。在父母出差期间,小X需要确保每天至少吃掉前一天一半的糖果,且在父母回来前不能吃完。通过二分查找方法确定小X第一天最多能吃多少糖果,同时考虑到糖果数量为整数的特殊情况。
摘要由CSDN通过智能技术生成

题目描述

1. 小X的父母出差N天,给他留下M块糖果。小X决定每天吃的糖果数量不少于前一天吃的一半,但是他又不想在父母回来之前的某一天没有糖果吃,请问他一天最多吃多少块糖果

输入描述

每个输入包含一个测试用例。

每个测试用例的第一行包含两个整数,表示父母出差的天数N(N<=50000)和糖果的数量M(N<=M<=10000)

输出描述:

输出一个数表示小X第一天最多能吃多少块糖果


示例1

输入

3 7

输出

4

基本思路就是先用二分查找找到第一天吃的糖果的数,然后统计一共吃的糖果的个数,与实际给的总共的糖果个数比较,需要注意的是,糖果都是整数个的,然后假如有一天吃了一块,后面就总是吃一块的,因为0.5块也是要吃一块的。

    var lineNext = readline();
    var lines = lineNext.split(" ");
    var N = parseInt(lines[0])
    var M = parseInt(lines[1])
    var low=1;
    var high=M;
    while(low+1<high){
        var mid = low+Math.floor((high-low)/2);
        if(Fn(mid,N,M)){
            low=mid;
        }else{
            high = mid-1;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值