昨天看到了这么一道数论题,题目大意如下:输入三个整数A,B,C,试判断
g
c
d
(
A
B
−
1
,
A
C
−
1
)
gcd(A^B-1,A^C-1)
gcd(AB−1,AC−1)是否为
1
1
1,其中
1
<
=
A
,
B
,
C
<
=
1
e
9
1<=A,B,C<=1e9
1<=A,B,C<=1e9。
这题数据很大,直接计算就算用高精度也无法实现,我们考虑一下对其进行数学上的分析。注意到
x
n
−
1
=
(
x
−
1
)
(
x
n
−
1
+
x
n
−
2
+
…
+
x
+
1
)
(
1
)
x^n-1=(x-1)(x^{n-1}+x^{n-2}+\ldots+x+1) (1)
xn−1=(x−1)(xn−1+xn−2+…+x+1)(1),所以不难发现
A
B
−
1
和
A
C
−
1
A^B-1和A^C-1
AB−1和AC−1都含有因式
A
−
1
A-1
A−1,只有当
A
=
2
A=2
A=2时才有可能满足
g
c
d
(
A
B
−
1
,
A
C
−
1
)
=
1
gcd(A^B-1,A^C-1)=1
gcd(AB−1,AC−1)=1。
所
以
现
在
只
需
讨
论
g
c
d
(
2
B
−
1
,
2
C
−
1
)
=
1
,
我
们
假
定
,
B
=
q
C
+
r
,
那
么
2
B
=
2
r
(
2
q
C
−
1
)
+
2
r
−
1
(
2
)
,
由
(
1
)
式
,
2
q
C
−
1
=
(
2
C
)
q
−
1
,
2
C
−
1
∣
2
q
C
−
1
,
且
2
r
−
1
<
2
C
−
1
,
所
以
(
2
)
式
为
2
B
−
1
和
2
C
−
1
作
带
余
除
法
.
所以现在只需讨论gcd(2^B-1,2^C-1)=1,我们假定,B=qC+r,那么2^B=2^r(2^{qC}-1)+2^r-1(2),由(1)式,2^{qC}-1=(2^C)^q-1,2^C-1|2^{qC}-1,且2^r-1<2^C-1,所以(2)式为2^B-1和2^C-1作带余除法.
所以现在只需讨论gcd(2B−1,2C−1)=1,我们假定,B=qC+r,那么2B=2r(2qC−1)+2r−1(2),由(1)式,2qC−1=(2C)q−1,2C−1∣2qC−1,且2r−1<2C−1,所以(2)式为2B−1和2C−1作带余除法.
g
c
d
(
2
B
−
1
,
2
C
−
1
)
=
g
c
d
(
2
r
−
1
,
2
C
−
1
)
gcd(2^B-1,2^C-1)=gcd(2^r-1,2^C-1)
gcd(2B−1,2C−1)=gcd(2r−1,2C−1)
我们发现对
2
B
−
1
和
2
C
−
1
作
辗
转
相
除
法
相
当
于
2^B-1和2^C-1作辗转相除法相当于
2B−1和2C−1作辗转相除法相当于对其指数“辗转相除”,所以
g
c
d
(
2
B
−
1
,
2
C
−
1
)
=
g
c
d
(
2
g
c
d
(
2
B
−
1
,
2
C
−
1
)
−
1
,
1
)
=
2
g
c
d
(
2
B
−
1
,
2
C
−
1
)
−
1
gcd(2^B-1,2^C-1)=gcd(2^{gcd(2^B-1,2^C-1)}-1,1)=2^{gcd(2^B-1,2^C-1)}-1
gcd(2B−1,2C−1)=gcd(2gcd(2B−1,2C−1)−1,1)=2gcd(2B−1,2C−1)−1
至此,我们推理出要使得
g
c
d
(
2
B
−
1
,
2
C
−
1
)
=
1
gcd(2^B-1,2^C-1)=1
gcd(2B−1,2C−1)=1,必须有
g
c
d
(
B
,
C
)
=
1
gcd(B,C)=1
gcd(B,C)=1,本题的数据量便被大幅度缩小。
其实,我们有一个更一般的结论。我们考虑
g
c
d
(
x
m
−
a
m
,
x
n
−
a
n
)
=
1
gcd(x^m-a^m,x^n-a^n)=1
gcd(xm−am,xn−an)=1的充要条件。
令
m
=
q
n
+
r
x
m
−
a
m
=
x
q
n
+
r
−
x
r
a
q
n
+
x
r
a
q
n
−
a
q
n
+
r
=
x
r
(
x
q
n
−
a
q
n
)
+
a
q
n
(
x
r
−
a
r
)
又
有
x
n
−
a
n
=
a
n
(
x
n
a
n
−
1
)
=
(
x
−
a
)
(
a
0
x
n
−
1
+
a
1
x
n
−
2
+
…
+
a
n
−
1
x
+
a
n
)
所
以
g
c
d
(
x
m
−
a
m
,
x
n
−
a
n
)
=
g
c
d
(
a
q
n
(
x
r
−
a
r
)
,
x
n
−
a
n
)
=
x
g
c
d
(
m
,
n
)
−
a
g
c
d
(
m
,
n
)
Q
.
E
.
D
\begin{aligned} 令m&=qn+r\\ x^m-a^m&=x^{qn+r}-x^ra^{qn}+x^ra^{qn}-a^{qn+r}\\ &=x^r(x^{qn}-a^{qn})+a^{qn}(x^r-a^r)\\ 又有x^n-a^n&=a^n(\frac{x^n}{a^n}-1)\\&=(x-a)(a^0x^{n-1}+a^1x^{n-2}+\ldots+a^{n-1}x+a^n)\\ 所以gcd(x^m-a^m,x^n-a^n)&=gcd(a^{qn}(x^r-a^r),x^n-a^n)\\&=x^{gcd(m,n)}-a^{gcd(m,n)}\\ Q.E.D \end{aligned}
令mxm−am又有xn−an所以gcd(xm−am,xn−an)Q.E.D=qn+r=xqn+r−xraqn+xraqn−aqn+r=xr(xqn−aqn)+aqn(xr−ar)=an(anxn−1)=(x−a)(a0xn−1+a1xn−2+…+an−1x+an)=gcd(aqn(xr−ar),xn−an)=xgcd(m,n)−agcd(m,n)
由一道数论题引出的互素相关结论
最新推荐文章于 2024-06-19 15:37:55 发布