计算大数的模数
Calculating the modulus of a large number
我正在学习离散结构测验。如何计算 2^50 (mod5)?我可以用计算器计算较小数字的结果,但我不能用大数字计算结果。
假设我们有一个数字 N
= 5X + Y
,其中 N、X 和 Y 是整数(即 N mod 5 = Y
)。那么,自从 2N = 2(5X + Y) = 10x + 2Y
,即 2N mod 5 = 2Y mod 5
。
同理,由于2^50可以改写为((2^5)^5)^2:
2^50 mod 5 = ((2^5 mod 5)^5 mod 5)^2 mod 5
2^50 mod 5 = ((2)^5 mod 5)^2 mod 5
2^50 mod 5 = (2)^2 mod 5
2^50 mod 5 = 4
你可以利用 if (2^x = t)(mod A) then (2^(x*y) = t^y)(mod A)
.
因此,我们有:
2^2 = (-1) (mod 5) which means
2^50 = (-1)^25(mod 5)
= -1 (mod 5) (which is the same as 4 (mod 5))
使用实际计算,我们看到2^50 = 1125899906842624 = -1(mod 5)
。
我正在学习离散结构测验。如何计算 2^50 (mod5)?我可以用计算器计算较小数字的结果,但我不能用大数字计算结果。
假设我们有一个数字 N
= 5X + Y
,其中 N、X 和 Y 是整数(即 N mod 5 = Y
)。那么,自从 2N = 2(5X + Y) = 10x + 2Y
,即 2N mod 5 = 2Y mod 5
。
同理,由于2^50可以改写为((2^5)^5)^2:
2^50 mod 5 = ((2^5 mod 5)^5 mod 5)^2 mod 5
2^50 mod 5 = ((2)^5 mod 5)^2 mod 5
2^50 mod 5 = (2)^2 mod 5
2^50 mod 5 = 4
你可以利用 if (2^x = t)(mod A) then (2^(x*y) = t^y)(mod A)
.
因此,我们有:
2^2 = (-1) (mod 5) which means
2^50 = (-1)^25(mod 5)
= -1 (mod 5) (which is the same as 4 (mod 5))
使用实际计算,我们看到2^50 = 1125899906842624 = -1(mod 5)
。