模运算
如果让你计算 1234⋅6789 的个位数,你会如何计算?
由于只有个位数会影响到乘积的个位数,那么 4⋅9=36 的个位数 6 就是答案。
对于 1234+6789 的个位数,同理,4+9=13 的个位数 3 就是答案。
你能把这个结论抽象成数学等式吗?
一般地,涉及到取模的题目,通常会用到如下等式(上面计算的是 m=10):
(a + b) mod m = ((a mod m) + (b mod m)) mod m
(a ⋅ b) mod m = ((a mod m) ⋅ (b mod m)) mod m
根据这两个恒等式,可以随意地对代码中的加法和乘法的结果取模。