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

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

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

  1. 如果原数是Int,那么所有模过的数之间的加法操作必然不会溢出int
  2. 如果原数是long,那么所有模过的数两两相乘必然不会溢出long
posted @ 2020-04-30 03:44  EvanMeetTheWorld  阅读(80)  评论(0)    收藏  举报