问题出在这里
让f(n)是n的最大素数,并且F(n)= sum(对于i在范围(2,n + 1)中的f(i))。
例如F(10)= 32,F(100)= 1915和F(10000)= 10118280。
查找F(201820182018)。给您的答案模数10 ** 9。
我知道原则上(在Python中)如何做到这一点,并且在没有问题的情况下获得较小数字的答案。在这个问题上我学到了很多。 Case Van Horsen的gmpy2生成所需素数的方法对于庞大的数字来说是非常快的,但是对于201820182018而言是行不通的。我得出的结论是,这个数字对于我的8gig MacBookPro或WindowsPC 16 gig机器来说太大了。 16 gig PC没有足够的内存来使用Carl Sweigart的Eratosthenes筛子的实现。 如果我可以访问具有更多得多内存的计算机,则可能会解决,但是我想知道是否在该方法中丢失了某些内容。