В контексте этого замечания 10 ^ 9 + 7 следует понимать как 10 9 + 7 , что составляет 1000000007
.
Очень большие числа будут превышать диапазон целочисленных типов, поэтому вас просят вычислить результат по модулю 1000000007, который может быть достигнут путем уменьшения промежуточных результатов по модулю 1000000007 всякий раз, когда они превышают или равны этому значению, если окончательный результат получается сложением и умножением. Модульная арифметика обладает многими более интересными свойствами.
Например, вы можете вычислять факториалы по модулю 1000000007 следующим образом:
long factorial_mod(int n) {
long res = 1;
for (int i = 2; i <= n; i++) {
res = res * (long long)i % 1000000007;
}
return res;
}