如果我有 2 个int或long long变量,调用它们aand b,并且我想计算 sum (a + b) mod p,其中 p 是一个大素数整数,我如何利用 C++ 中的模运算符来获得所需的结果?
我试过(a + b) % p,但这有时a + b会导致溢出,因为会在应用 mod 之前溢出。
我尝试过的其他类似方法似乎可以避免溢出,但会给出不正确的结果。
在这种情况下,如何使用模运算符正确计算所需的总和,同时避免溢出?
int在 C++ 中对两个值执行除法而不使用时,如何进行四舍五入std::ceil?
通常,我最终会执行以下操作:
double res = ceil(a / (double) b);
Run Code Online (Sandbox Code Playgroud)
有什么方法可以在不使用的情况下复制结果std::ceil?