首页
学习
活动
专区
工具
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

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

LeetCode题目29:相除

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

55520
领券