当前位置: 首页 > 知识库问答 >
问题:

非常非常大的数字Python

寇景明
2023-03-14

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

代码如下:

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

print SelfPowers(n)

我怎么能看到这些美丽的数字?它在我的四核上打印速度相对较快。这只是为了给ProjectEuler带来乐趣,问题#48,请不要破坏者。我不想要解决方案,也不想让工作为我完成,所以如果你能为我指出正确的方向,请?

谢了议员

共有2个答案

马国源
2023-03-14

测试Python 3.2我能够

print(SelfPowers(10000))

虽然花了几秒钟。你想的数字有多大?

编辑:看起来你想使用1000?在这种情况下,升级到Python 3,你应该没问题。

容俊豪
2023-03-14

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

相反,考虑使用pow的三参数形式来计算功率mod特定的基,您会发现问题要容易得多。

 类似资料:
  • 我正在处理非常大的数字(1000000位),我需要计算它们的平方根。我的代码似乎达到了极限。 我得到了这个错误: 代码有效期至10**308。但除此之外,它似乎破碎了。我也在命令行中检查了这一点。同样的错误。有人能帮我吗? 如果这是Python限制,是否有其他方法可以使用?

  • 问题内容: 我一直在考虑使用Python进行快速手牌评估。在我看来,加快处理速度的一种方法是将所有牌面和西服表示为质数,然后将它们相乘以表示手: 和 这将为每只手提供一个数值,通过模可以告诉我手中有多少个国王或有多少个心。例如,任何有五个或更多球杆的手都会平均除以;任何有四位国王的手将平均除以,依此类推。 问题在于,像这样的七张牌手的散列值约为62.7万亿次,这将需要超过32位才能在内部进行表示。

  • 问题内容: 我试图找到一个非常简单,流畅,轻巧的javascript或jquery字幕。我已经尝试过丝绸选框之类的东西,但不适用于我正在使用的应用程序。因此,越短越好,越好-并且越容易调试。有人知道字幕易于实现的JavaScript替换吗? 码 问题答案: 希望这对您有所帮助,加油! html jQuery代码

  • 我正在尝试新的Python Interactive Broker API,但我在第一步遇到了一些严重的速度问题... 下面的代码(见下文)重复了两次 直到数据被接收完毕 直到应用程序完全断开连接。。。 为什么这么慢?最好的加速方法是什么? 我还试图在后台持续运行它,以便只在运行时提交请求 但速度也非常慢。有什么建议吗

  • 问题内容: 我们如何在Java中生成非常大的随机数?我说的是10000位数吗?我知道我们必须使用BigInteger,但是我们该怎么做呢?做这样的事情最有效的方法是什么?请提供一个小例子。谢谢。 问题答案: 嗯,一种方法是转到Random.org并下载二进制随机文件之一。这些文件是由大气噪声生成的,因此非常随机。我在国际象棋引擎中将其用于Zobrist键。 或者你可以去 这会给你你想要的。在此示例

  • 我正在处理一些非常大的PDF,一些超过7GB的大小。PDF有多达20,000页和许多全页彩色图像。我想使用PDFBox来处理PDF,但由于尺寸太大,当我试图打开PDF时,我会得到FMemoryError。 我正在使用PDFBOX-APP-1.6.0版本,在Windows7上使用Intellij、Java6。 首先,我尝试编写一个简单的程序,在PDDocument中打开PDF,然后将每一页转到另一个