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;
}
posted @ 2023-01-01 22:46  junlin623  阅读(2231)  评论(0编辑  收藏  举报