使用 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)
.
所以,如果我想使用 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)
.