尝试构建一个程序,计算离散日志模数为素数p。我试图使用中间相遇的方法来执行此操作。构建一个这样的哈希表:
lhs = [powmod(g,i,p) for i in range(2**20)]
然后拨打电话;
with open("temp1.red","w") as f:
pickle.dump(lhs,f)
f.close()
print ("calculate 1/2^20 array")
lhs = [xgcd(i,p)[1] for i in lhs]
当它遇到dump方法时,它会产生一个TypeError异常:
Traceback (most recent call last):
File "C:\Users\lincoln\Desktop\eclipse-standard-luna-R-win32-x86_64\workspace\Python 3\src\Modulo.py", line 150, in <module>
pickle.dump(lhs,f)
TypeError: must be str, not bytes
我正在使用Python 3.4。有什么想法吗?