计算pow(45,60)mod 61

时间:2011-03-18 05:51:36

标签: c# c algorithm math

这是一个家庭作业问题。

我需要计算45 ^ 60 mod 61.我想知道任何快速方法以编程方式或手动方式获得结果,以较快者为准。

5 个答案:

答案 0 :(得分:21)

由于费马的小定理,结果将是1

enter image description here

如果p是素数。

61是一个素数,所以a p-1 除以p时会得到1作为余数。

然而,如果p是非素数,那么通常的技巧就是重复平方。

答案 1 :(得分:6)

45^60 =
2025^30 = (33*61 + 12)^30 = 12^30 =
144^15 = (2*61 + 22)^15 = 22^15 =
10648^5 = ( 174*61 + 34)^5 = 34^5 =
45435424 = 744843 * 61 + 1 = 1

这里等式意味着=(mod 61)

答案 2 :(得分:4)

我认为你最好的选择是使用费马的小定理。

Fermat's Little Theorem

其中p = 61且p-1 = 60。

希望有所帮助

答案 3 :(得分:1)

45^2         = 2025 = 12
45^4  = 12^2 = 144  = 22
45^8  = 22^2 = 484  = 57
45^16 = 57^2 = 3249 = 16
45^32 = 16^2 = 256  = 12

45^60 = 45^(4+8+16+32) = 22 * 57 * 16 * 12 = 1

答案 4 :(得分:0)

Wolfram Alpha

总是手头有Wolfram Alpha:D

enter image description here