【发布时间】:2020-09-08 21:02:53
【问题描述】:
关于pow(base, exp[, mod]) 函数的documentation 说,
“如果mod 存在且exp 为负数,则base 必须与mod 互质。在这种情况下,返回pow(inv_base, -exp, mod),其中inv_base 是base 模mod 的逆。 "
我完全不明白这条线以及它是如何工作的。提供的示例如下:
>>> pow(38, -1, mod=97)
23
>>> 23 * 38 % 97 == 1
True
它的行为不应该像 (38**-1)%97 = 0.02631578947368421 吗?
如果我尝试从23 * 38 % 97 == 1 向后退,我不知道取模的逆是什么。
谁能给我一个清楚的解释它是如何结束 23 岁的?数学解释会很有帮助。
【问题讨论】:
-
TypeError: pow() takes no keyword arguments是我运行它时遇到的错误 -
@CoolCloud 稍后尝试 python。
-
@alani 是的,发现:在 3.8 版中更改:允许关键字参数。以前,仅支持位置参数。
-
您至少需要 Python 3.8 才能运行它。