那么,如果我想要使用pow函数计算6的8次方mod 5的值,应该在代码中输入什么?
假设您无需先导入pow函数。
我知道pow函数的使用方式是pow(x, y) = pow (6, 8) = 6的8次方
我猜应该输入:
mod.pow(6,8)
谢谢!
很简单:pow
函数有一个可选的第三个参数用于指定模数。
根据文档:
pow(x, y[, z])
返回 x 的 y 次方;如果 z 存在,则返回 x 的 y 次方对 z 取模(比使用
pow(x, y) % z
更高效)。调用 pow(x, y) 函数相当于使用幂运算符:x**y
。
因此,您想要:
pow(6, 8, 5)
pow(x, y, z)
比 (x ** y) % z
更快,更高效,并且可以轻松处理大量的y
值,而不需要使用任意精度算术,假设 z
是一个简单的机器整数。
x
和 z
(例如,小于3000万),以及大的 y
。 - PM 2Ring(x ** y)
会导致MemoryError,因此您不能对任意精度(例如RSA计算)使用该方法。 - PM 2Ringpow
比 **
慢。我的观点是,pow
应该在内部处理所有这些情况,并返回优化后的结果,无论用户如何调用它,至少在 Python3.8 之前不是这样。希望 Guido van Rossum 能看到这条评论。 - ishandutta2007print(pow(6,8) % 5)
或 print(6**8 % 5)
。
pow(x, y)
或x**y
。 - Ahsanul Haque