首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java整数相除向上

前言:Java中个整数相除,如果不能整除,默认是向下的。例如:11 除以 3 的结果是 3。然而,某些情况下(eg. 把11个糖果,每3个分一堆,不足三个也分成一堆,可以分几堆?)...,我们需要向上,这样的情况该如果处理呢? 方式一: 添加三目运算符逻辑代码 x / y + (x % y != 0 ?...Math.ceil((double)x/y); // 或者 (int)Math.ceil(x * 1.0 /y); 首先,将被除数转换成double类型,再将计算的结果通过Math.ceil()函数向上...方式三:其他逻辑 (x + y - 1) / y 这种方式为什么可以达到向上的效果呢,为什么x要加y – 1? 为了方便理解,我们通过具体的计算来说明。...y), 余数为(y – 1),余数相当于相除结果都小数部分,会被舍去,最终(x + (y – 1)) / y` = (x / y) 对于不可以整除的情况 x = 11, y = 3 11

3.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    LeetCode题目29:相除

    原题描述 + 给定个整数,被除数 dividend 和除数 divisor。将相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。...原题链接:https://leetcode-cn.com/problems/divide-two-integers 思路解析 + 个比较烦人的点 边界条件有点多; 对于数字特别大的case,不做任何优化的方法会超时而...否则,安全返回相反即可。 如果不是上面种情况,建议把操作数的符号统一一下,方便处理。最后再根据操作数原本的正负性做正负判别。...然后我们激进一点,把除数3扩大倍到6,发现也能消费,那么商至少是2了。 我们继续扩大,将6扩大到12,发现依然能被消费。所以商的下界变成了4。

    58020

    相除(中等)

    题目描述 给定个整数,被除数 dividend 和除数 divisor。将相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。...复杂度为 空间复杂度: ---- 总结 这道题的解法,主要涉及的模板有个。 一个是「二分」模板,一个是「快速乘法」模板。都是高频使用的模板。...其中「二分」模板其实有套,主要是根据 check(mid) 函数为 true 时,需要调整的是 l 指针还是 r 指针来判断。...由于 LeetCode 的题目随着周赛 & 双周赛不断增加,为了方便我们统计进度,我们将按照系列起始时的总题作为分母,完成的题目作为分子,进行进度计算。当前进度为 29/1916 。

    66510
    领券