运算规则:
模运算与基本四则运算有些相似,但是除法例外。其规则如下:
1.(a + b) % p = (a % p + b % p) % p (1)
2.(a - b) % p = (a % p - b % p + p) % p (2)
3.(a * b) % p = (a % p * b % p) % p (3)
4. a ^ b % p = ((a % p)^b) % p (4)
结合律:
((a+b) % p + c) % p = (a + (b+c) % p) % p (5)
((ab) % p * c)% p = (a * (bc) % p) % p (6)
交换律:
(a + b) % p = (b+a) % p (7)
(a * b) % p = (b * a) % p (8)
分配律:
(a+b) % p = ( a % p + b % p ) % p (9)
((a +b)% p * c) % p = ((a * c) % p + (b * c) % p) % p (10)
来一道例题:运用了(1)&(2)号公式:
https://codeforces.com/contest/1248/problem/C
#include<bits/stdc++.h>
#define ll long long
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,n,a) for(int i=n;i>=a;i--)