数学
向上取整
如果 a,b 都为正整数,需要计算 a/b 的向上取整,可以使用以下方法:
- math 库
即先转换为浮点数再取整:
std::ceil(1.0*a/b);
- 看余数
如果 a % b == 0,则结果为 a / b;否则结果为 (a / b) + 1。
a/b + (a % b != 0);
- 看余数
如果 a % b == 0,则结果为 a / b;否则结果为 (a / b) + 1。
(a + b - 1) / b;
特别的,如果,那么可以使用以下方法:
(a+1) / 2;