【发布时间】:2015-12-20 17:10:57
【问题描述】:
那么,如果我想使用 pow 函数计算 6^8 mod 5 的值,我应该在一行中输入什么??
假设您不需要先导入它
我知道 pow 的用法类似于 pow (x, y) = pow (6, 8) = 6^8 和
我的猜测是
mod.pow(6,8)
谢谢!
【问题讨论】:
-
两种方式,
pow(x, y)或x**y
那么,如果我想使用 pow 函数计算 6^8 mod 5 的值,我应该在一行中输入什么??
假设您不需要先导入它
我知道 pow 的用法类似于 pow (x, y) = pow (6, 8) = 6^8 和
我的猜测是
mod.pow(6,8)
谢谢!
【问题讨论】:
pow(x, y) 或 x**y
您可以使用 '%' 字符来获取模值。例如print(pow(6,8) % 5) 或print(6**8 % 5)。
【讨论】:
这很简单:pow 采用可选的第三个参数作为模数。
来自docs:
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 更快、更高效,而且假设 z 是一个简单的机器整数,它可以在不使用任意精度算术的情况下轻松处理 y 的大值。
【讨论】: