A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

有时候我们会遇到一些题,比如有17个苹果,然后每4个苹果放到一个容器中,问需要多少个容器这类的题目
一般我们都是先 17/4 得到一个数值 4, 然后再 17%4 得到1,如果求模的结果大于0,那么真正的结果就是 5,否则就是 4
但是这样写会太麻烦了 需要判断
我们可以使用一个简单的方法
(被除数+除数-1)/除数 这样得到的结果就是我们需要的结果 比如上例中(17+4-1)/4=5 刚好就是需要的结果
原理是什么呢 , 假如被除数刚好可以被除数整除,那我们 额外加上的 (除数-1) 得到的结果是个小数,在返回 int 的时候会自动忽略,这样对结果没任何影响
假如无法被整除呢,那么说明不能被整除的部分最小是1,最大是(除数-1),这个时候我们给他额外加上(除数-1),加完之后它的最小值是除数,最大值是(2倍除数-2),这部分数值无论怎么除以除数,得到的结果都只能是1,那么又刚好符合我们所需要的数值, 是不是很简单呢

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马