为什么很多题目都对1e9+7取模?

取模出现在什么场景下?
出现在大数阶乘或者是大数的排列组合,一般要求对输出结果进行取模。

为什么用到这种数呢?
其实不止1e9+7,还有1e9+9和998244353。这三个数都是一个质数,同时小于2的30次方 。
这种数的奇妙之处在于:

  1. 如果原数是Int,那么所有模过的数之间的加法操作必然不会溢出int
  2. 如果原数是long,那么所有模过的数两两相乘必然不会溢出long

你可能感兴趣的:(LeetCode)