← 所有笔记

整数除法向上取整

整数除法 向上取整 的方法

设要将na\frac{n}{a} 向上取整 ,如要令34\frac{3}{4}=1
只需要n+a−1a\frac{n+a-1}{a}即可
解释:
一般方法,判断n/a是否有余数,如果有余数则+1,如果没有余数则不变。例如

int temp=n/a;
if(n%a!=0) temp++; 

如果n%a == 0,则n==ka,所以n+a−1a\frac{n+a-1}{a} == (k+1)a−1a\frac{(k+1)a-1}{a}==k;
如果n%a != 0,则n ==ka+t (t>=1&&t<a),那么n+a−1a\frac{n+a-1}{a} ==(k+1)a+t−1a\frac{(k+1)a+t-1}{a} == k+1。(t-1一定是一个小于a的正数)

所以上述代码可改写为:

int temp=(n-a+1)/a;
✳

谢谢你读到这里。

更新于 2022-06-03

搜索笔记

搜索文章标题、标签和正文。

↑ ↓ 选择 · Enter 阅读Esc 关闭