使用 pow 函数 python 计算 mod

calculate mod using pow function python

所以,如果我想使用 pow 函数计算 6^8 mod 5 的值,我应该在一行中输入什么??

假设您不需要先导入它

我知道pow的用法是pow(x, y) = pow(6, 8) = 6^8 和

我猜是

mod.pow(6,8)

谢谢!

很简单:pow 采用可选的第三个参数作为模数。

来自docs:

pow(x, y[, z])

Return x to the power y; if z is present, return x to the power y, modulo z (computed more efficiently than pow(x, y) % z). The two-argument form pow(x, y) is equivalent to using the power operator: x**y.

所以你想要:

pow(6, 8, 5)

不仅 pow(x, y, z)(x ** y) % z 更快更高效,它还可以轻松处理 y 的大值,而无需使用任意精度算法,假设 z 是一个简单的机器整数。

查看 pow 的文档:

pow(6, 8, 5)

做你想做的事。

使用a ** b % n!虽然这会给出正确的结果,但如果您对更大的数字进行计算,速度会慢几个数量级。 pow 将在每一步中进行取模运算,而 ** 将首先对整数进行取幂(这可能会导致 巨大的 数字)并取模只在最后。

现在如果您对大于 32 位的数字感兴趣,您可能想看看 gmpy2 以获得更快的速度。

您可以使用“%”字符来获取模值。例如 print(pow(6,8) % 5)print(6**8 % 5).