首页 > 试题广场 >

热心的牛牛

[编程题]热心的牛牛
  • 热度指数:2552 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
这一天你跟你的n个朋友一起出去玩,在出门前妈妈给了你k块糖果,你决定把这些糖果的一部分分享给你的朋友们。由于你非常热心,所以你希望你的每一个朋友分到的糖果数量都比你要多(严格意义的多,不能相等)。求你最多能吃到多少糖果?

示例1

输入

2,10

输出

2

说明

你可以分给你的两个朋友各4个糖果,这样你能吃到2个糖果,这样能保证你的每个朋友的糖果数都比你多,不存在你能吃到3个或者以上糖果的情况

示例2

输入

3,11

输出

2

说明

你可以分给你的3个朋友各3个糖果,这样你能吃到2个糖果,这样能保证你的每个朋友的糖果数都比你多,不存在你能吃到3个或者以上糖果的情况


备注:

对于百分之30的数据:

对于百分之100的数据:

函数有两个long long型参数

第一个参数代表题目中的n

第二个参数代表题目中的k

function Maximumcandies( n ,  k ) {
    // write code here
    if (n>=k) return 0
    let rem = k%(n+1)
    if(rem < n){
        return Math.floor(k/(n+1)-1)
    }
  return Math.floor(k/(n+1))
}
JS 用例 500000000000000000,1000000000000000000 无法通过 有解决办法吗
发表于 2021-08-23 19:28:46 回复(0)
class Solution:
    def Maximumcandies(self , n , k ):
        # write code here
        if k%(n+1)==n:
            return k/(n+1)
        return k//(n+1)-1
python 在进行大数除法的时候有问题,可以用//
发表于 2021-07-06 14:38:10 回复(0)
我写这个代码
long long Maximumcandies(long long n, long long k ) {
    // write code here
    long long a = k;
    while(a>=0){
        long long b=(k-a)/n;
        if(a+b*n==k&&a<b){
            break;
        }
        a--;
    }
    return a;
}
大神写这个代码就三行,我绝望了
发表于 2021-04-12 17:07:21 回复(0)
return (k-n) / (n+1);
先把每个朋友至少多吃的一个预留出来,剩下的平均分配。
发表于 2021-03-24 19:37:16 回复(0)
方程思想
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
# 返回牛牛能吃到的最多糖果数
# @param n long长整型 
# @param k long长整型 
# @return long长整型
#
class Solution:
    def Maximumcandies(self , n , k ):
        # write code here
        return (k-n)//(n+1)

发表于 2021-02-23 11:59:51 回复(0)
import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 返回牛牛能吃到的最多糖果数
     * @param n long长整型 
     * @param k long长整型 
     * @return long长整型
     */
    public long Maximumcandies (long n, long k) {
        // write code here
        
       if(k%(n+1)==n)            //糖果平均分,还多了n个糖果,刚好n个朋友分掉这些糖果,结果朋友的糖果都比牛牛多一个
           return k/(n+1);
        else                     //如果余数小于n,糖果不够朋友平均分,那么就会存在某个朋友糖果和牛牛一样的情况,这时牛牛拿出一个糖果给朋友,那么牛牛就是分的最少的
            return k/(n+1)-1;
            
       
            
    }
}
发表于 2021-02-10 14:07:06 回复(1)
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
# 返回牛牛能吃到的最多糖果数
# @param n long长整型
# @param k long长整型
# @return long长整型
#
class Solution:
    def Maximumcandies(self , n , k ):
        if k / n > 2:
            return ((k - n) // (n+1) )
        else:
            return 0

发表于 2021-01-27 19:28:39 回复(0)

问题信息

难度:
7条回答 1718浏览

热门推荐

通过挑战的用户

查看代码