大家好,欢迎来到IT知识分享网。
引入
- 编程竞赛有相当一部分题目的结果过于庞大,整数类型无法存储,往往只要求输出取模的结果。
- 例如(a+b)%p,若a+b的结果我们存储不了,再去取模,结果显然不对,我们为了防止溢出,可以先分别对a取模,b取模,再求和,输出的结果相同。
- a mod b表示a除以b的余数。有下面的公式:
- (a + b) % p = (a%p + b%p) %p
- (a – b) % p = ((a%p – b%p) + p) %p
- (a * b) % p = (a%p)*(b%p) %p
- 注意对于除法取模,我们不能直接分别取模了,详见逆元。
快速幂取模
typedef long long LL; LL pow_mod(LL a,LL b,LL p){
//快速幂取模 LL ans=1,base=a; while(b>0){ if(b&
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/149390.html