为什么我在使用这些参数时会收到此错误消息(pow(1,3,3))?:
sage: pow(1,3,3)
3
3/2
3/2
---------------------------------------------------------------------------
ZeroDivisionError Traceback (most recent call last)
/home/kai/<ipython console> in <module>()
/home/kai/<ipython console> in pow(a, e, n)
/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/rings/rational.so in sage.rings.rational.Rational.__mod__ (sage/rings/rational.c:19891)()
/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/rings/integer.so in sage.rings.integer.Integer.inverse_mod (sage/rings/integer.c:32726)()
ZeroDivisionError: Inverse does not exist.
战俘():
def pow(a,e,n):
....: num = 1
....: while e >= 1:
....: print(e)
....: if (e%2) == 1:
....: num = (num*a) % n
....: e = e/2
....: print(e)
....: a = (a*a) % n
....: return num
....: