同余定理:
定理基础:
公式:
a
≡
b
(
m
o
d
m
)
a≡b(mod \quad m)
a≡b(modm)
含义:两个整数a和b满足a-b能够被m整除,即(a-b)/m
得到一个整数,那么a与b分别用m去除,余数相同。
定义应用:
- ( a + b ) % m = ( a % m + b % m ) % m (a + b) \% m = (a \% m + b \% m) \% m (a+b)%m=(a%m+b%m)%m
-
(
a
∗
b
)
%
m
=
(
(
a
%
m
)
∗
(
b
%
m
)
)
%
m
(a * b) \% m = ((a \% m) * (b \% m)) \% m
(a∗b)%m=((a%m)∗(b%m))%m
证明过程点这里 - 高精度取模(代码如下):
#include<iostream>
#include<string>
using namespace std;
int main(){
string a;
int b;
cin >> a >> b;
int len = a.length();
int ans = 0;
for(int i = 0; i < len; i++){
ans = (ans * 10 + a[i] - '0') % b;
}
cout << ans << endl;
return 0;
}