"compute it modulo 1,000,000,007" 是什么意思?

What is meant by "compute it modulo 1,000,000,007"?

我正在做一道竞赛题。在此处附上摘录 -

如果厨师以最佳方式出售他的汽车,求出他可以获得的最大利润。由于这个数字可能很大,计算它模 1,000,000,007 (10^9+7)。

这是否仅仅意味着我必须找到最终利润除以 1000000007 的余数?原谅我这个简单的问题,语言不清晰

在这句话的上下文中,10^9+7 应理解为 109 +7,即1000000007.

非常大的数字会超出整数类型的范围,因此要求您计算结果对 1000000007 取模,只要中间结果超过或等于此值,就可以通过对中间结果对 1000000007 取模来减少,只要最后的结果是通过加法和乘法得到的。 Modular Arithmetics 有更多有趣的属性。

例如,您可以这样计算阶乘模 1000000007:

long factorial_mod(int n) {
    long res = 1;
    for (int i = 2; i <= n; i++) {
        res = res * (long long)i % 1000000007;
    }
    return res;
}