C++实现向上取整
1. 使用库函数 double ceil (double x)
由于传入的参数和返回的参数都是double,所以需要手动转化
代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
printf("%d\n", (int)ceil(1.0*5/2)); // 输出3
return 0;
}
2. 使用公式 \(\lceil \frac a b \rceil = \lfloor \frac {a+b-1} {b} \rfloor\)
代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int a = 5, b = 2;
//C++中的整除默认下取整
printf("%d\n", (a+b-1) / b); // 输出3
return 0;
}
你只管出发,旅途自有风景~~