Z:整数集
Z+(N*,N+):正整数集
N:自然数集
R:实数集
C:复数集
Q:有理数集
整除
a|b :a整除b
b不能被a整除就记作
∤
\nmid
∤
(a,b) :gcd(a,b)
[a,b] : lcm(a,b)
p :素数
k :未知整数或任意整数
(1)
a
∣
b
a|b
a∣b <=>
−
a
∣
b
-a|b
−a∣b <=>
a
∣
−
b
a|-b
a∣−b <=>
∣
a
∣
∣
∣
b
∣
|a| | |b|
∣a∣∣∣b∣
即正负对整除关系没有影响
(2)
a
∣
b
,
b
∣
c
a|b,b|c
a∣b,b∣c <=>
a
∣
c
a|c
a∣c
(3)
a
∣
b
,
a
∣
c
a|b,a|c
a∣b,a∣c等价于对任意整数
x
,
y
x,y
x,y,有
a
∣
(
b
x
+
c
y
)
a|(bx+cy)
a∣(bx+cy)
(4)
设m
≠
\not =
= 0,
a
∣
b
a|b
a∣b,则
m
a
∣
m
b
ma|mb
ma∣mb
(5)
若
(
m
,
a
)
=
1
,
m
∣
a
b
(m,a)=1,m|ab
(m,a)=1,m∣ab,则
m
∣
b
m|b
m∣b
(6)
所有的
a
i
∣
c
(
1
<
=
i
<
=
n
)
a_i |c(1<=i<=n)
ai∣c(1<=i<=n)成立的充分必要条件是
[
a
1
,
a
2
,
.
.
.
,
a
n
]
∣
c
[a_1,a_2,...,a_n]|c
[a1,a2,...,an]∣c。也就是说一组数的公倍数必然是这组数最小公倍数的倍数
(充分必要条件:a <=> b )
(7)
对任意整数a,b>0,存在唯一的数对q,r,使a=bq+r,其中0<=r<b,此外,b|a的充分必要条件是r=0。
同余
同余的性质:a,b两个数模n同余,也就是说a%n==b%n
a
≡
\equiv
≡ b(mod m)
性质1
a
≡
\equiv
≡ a(mod m) 自反
b
≡
\equiv
≡ a(mod m) 对称
a
≡
\equiv
≡ b(mod m),b
≡
\equiv
≡ c(mod m) => a
≡
\equiv
≡ c(mod m) 传递
a+c
≡
\equiv
≡ b+c(mod m) 同价
a
×
\times
×c
≡
\equiv
≡ b
×
\times
×c(mod m), a
×
\times
×c
≡
\equiv
≡ b
×
\times
×d(mod m) ( c
≡
\equiv
≡ d(mod m))同乘
a
n
^n
n
≡
\equiv
≡ b
n
^n
n(mod m) 同幂
性质2
a m o d mod mod p=x,a m o d mod mod q=x,p和q互质,则a m o d mod mod pq=x
性质3
设d>=1,d|m,那么,若a ≡ \equiv ≡ b(mod m),则有:a ≡ \equiv ≡ b(mod d)
性质4
设d ≠ \not = = 0,那么a ≡ \equiv ≡ b(mod m)等价于da ≡ \equiv ≡ db(mod |d|m)
性质5
同余式ca ≡ \equiv ≡ cb(mod m),等价于a ≡ \equiv ≡ b(mod m ( c , m ) \frac{m}{(c,m)} (c,m)m)
性质6
同余式组a ≡ \equiv ≡ b(mod m i m_i mi)( 1 < = i < = n 1<=i<=n 1<=i<=n),则a ≡ \equiv ≡ b(mod m [ m 1 , m 2 , . . . , m n m[m_1,m_2,...,m_n m[m1,m2,...,mn))
性质7
设 f ( x ) = a n x n + . . . + a 0 , g ( x ) = b n x n + . . . + b 0 f(x)=a_nx_n+...+a_0,g(x)=b_nx_n+...+b_0 f(x)=anxn+...+a0,g(x)=bnxn+...+b0是两个整系数多项式,满足: a i a_i ai ≡ \equiv ≡ b i b_i bi(mod m)( 0 < = i < = n 0<=i<=n 0<=i<=n)
取模的四则运算
a+b取模p:(a+b)%p
a-b取模p:(a-b+p)%p
a
×
\times
×b取模p:a*b%p
a ÷ \div ÷b取模p:a/b%p ???
逆元(乘法逆元)
在模运算系统中,inv(a)代表a分之一。所以乘法逆元也成为“数论倒数”。
费马小定理
如果p是一个质数,且整数a不是p的倍数,则有: a a ap-1 ≡ \equiv ≡ 1 1 1( m o d mod mod p p p)
x => b-1 % p
a / b = a * b-1 / b* b
a / b = a / b * b * b-1%p
b * b-1 % p = 1
inv(a)=ap-2mod p
例题
1.求逆元
时间限制:1秒 内存限制:128M
题目描述
如果一个线性同余方程ax≡1(mod b),则称x为a mod b的逆元,记作a−1
。现在令b=109+7,求a−1 。
样例输入
3
样例输出
333333336
#include<bits/stdc++.h>
using namespace std;
long long a,mod=1e9+7,ans=1,n=1e9+5;
int main(){
scanf("%lld",&a);
while(n){
if(n&1){
ans*=a;
ans%=mod;
}
n>>=1;
a*=a;
a%=mod;
}
printf("%lld",ans);
return 0;
}