(a+b)%mod=(a%mod+b)%mod=(a%mod+b%mod)%mod(a+b)\%mod=(a\%mod+b)\%mod=(a\%mod+b\%mod)\%mod(a+b)%mod=(a%mod+b)%mod=(a%mod+b%mod)%mod
计算加法时,每相加一次执行一次%mod\%mod%mod
假设a=a1∗mod+a2a=a_1*mod+a_2a=a1∗mod+a2以及b=b1∗mod+b2b=b_1*mod+b_2b=b1∗mod+b2
(a+b)%mod=(a1∗mod+a2+b1∗mod+b2)%mod=(a2+b1∗mod+b2)%mod=(a2+b2)%mod(a+b)\%mod=(a_1*mod+a_2+b_1*mod+b_2)\%mod=(a_2+b_1*mod+b_2)\%mod=(a_2+b_2)\%mod(a+b)%mod=(a1∗mod+a2+b1∗mod+b2)%mod=(a2+b1∗mod+b2)%mod=(a2+b2)%mod
(a∗b)%mod=(a%mod∗b)%mod=(a%mod∗b%mod)%mod(a*b)\%mod=(a\%mod*b)\%mod=(a\%mod*b\%mod)\%mod(a∗b)%mod=(a%mod∗b)%mod=(a%mod∗b%mod)%mod
计算乘法时,每相乘一次执行一次%mod\%mod%mod
假设a=a1∗mod+a2a=a_1*mod+a_2a=a1∗mod+a2以及b=b1∗mod+b2b=b_1*mod+b_2b=b1∗mod+b2
(a∗b)=(a1∗mod+a2)∗(b1∗mod+b2)=(a1∗b1∗mod2+a1∗b2∗mod+a2∗b1∗mod+a2∗b2)(a*b)=(a_1*mod+a_2)*(b_1*mod+b_2)=(a_1*b_1*mod^2+a_1*b_2*mod+a_2*b_1*mod+a_2*b_2)(a∗b)=(a1∗mod+a2)∗(b1∗mod+b2)=(a1∗b1∗mod2+a1∗b2∗mod+a2∗b1∗mod+a2∗b2)
(a∗b)%mod=(a1∗b1∗mod2+a1∗b2∗mod+a2∗b1∗mod+a2∗b2)%mod=(a2∗(b1∗m+b2))%mod=(a2∗b2)%mod(a*b)\%mod=(a_1*b_1*mod^2+a_1*b_2*mod+a_2*b_1*mod+a_2*b_2)\%mod=(a_2*(b_1*m+b_2))\%mod=(a_2*b_2)\%mod(a∗b)%mod=(a1∗b1∗mod2+a1∗b2∗mod+a2∗b1∗mod+a2∗b2)%mod=(a2∗(b1∗m+b2))%mod=(a2∗b2)%mod
本文深入解析了模运算在加法和乘法中的应用技巧,详细解释了如何通过模运算简化大数计算,避免溢出,特别是在计算机科学和算法设计中极为关键。

950

被折叠的 条评论
为什么被折叠?



