非常大数量的Python

Mel*_*ody 3 python biginteger

我搜索了数据库和食谱,但似乎无法找到正确的答案.我有一个非常简单的python代码,它总结了一个范围内的自我权力.我需要这个非常大的数字的最后十位数字,我已经尝试了getcontext().但是我仍然达到了极限.

这是代码:

def SelfPowers(n):
      total = 0
      for i in range(1,n):
          total += (i**i)
      return(total)

print SelfPowers(n)
Run Code Online (Sandbox Code Playgroud)

我怎么能看到所有那些美丽的数字?它在我的四核上打印速度相对较快.这只是为了ProjectEuler的乐趣,问题#48,没有剧透请求我不想解决方案而且我不想为我完成工作,所以如果你能指出我正确的方向吗?

谢谢,mp

nne*_*neo 8

如果你想要一个数字最后十位数字,不要计算整个数字(它将占用太多的内存和时间).

相反,考虑使用"三参数"形式pow来计算特定基础的权力,你会发现问题要容易得多.