1.取模
(a×10+b)mod m=(a mod m×10+b)mod m
(a+b) mod m=((a mod m)+(b mod m)) mod m
(a⋅b) mod m=((a mod m)⋅(b mod m)) mod m
取模时,可以不用算出很大的数值后再取模;有效减小运算的数值大小。取模运算使用取模后的数值参与之后的运算,判断是否会影响之后的结果(尤其当求模对象接下来要参与到混合运算时)。
2.乘法可能超范围
换成加法,一个个加,在每个加的过程中都处理一次。
3.快速加法/快速幂
都利用奇数时运算,偶数时倍增基数的模式,减少运算次数。
4.语句位置
因为第一个被处理的特殊,语句位置注意调整。
5.脑筋急转弯+计算方法
复杂场景等效为简单模型(不同个体看作相同)。“在进行复杂的计算时,先看看数学上是否有简单的方法可用。”
6.二分查找