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;
}
标签:frac,int,double,namespace,C++,取整,向上
From: https://www.cnblogs.com/junlin623/p/17019195.html