だから私は 2000000 未満の素数を生成し、それらの合計を見つけようとしています。多くの値を試しましたが、35044 という数値がプログラムのクラッシュ ポイントであることがわかりました。
import sys
sys.setrecursionlimit(100000000)
def stuff(total, rnge):
for n in rnge:
ubound=int(n**0.5)+1
print ubound
for x in range(3, ubound, 2):
if n % x == 0:
stuff(total, range(n+2, 35044, 2))
#print n
total = total + n
#print total
print total
exit()
stuff(17, range(11, 35044, 2))
これは結果として生じるエラーです:"Run Command: line 1: 2942 Segmentation fault: 11 python "$1" "${@:3}"
補足: Finder はまた、Python がクラッシュしたと言い、次の 2 つの興味深い情報を含むクラッシュ レポートを提供します:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00007fff5f3fffb8
これが役立つかどうかはわかりません。
また、疑問に思っている人のために、私は 16 GB RAM と 2.7 Ghz プロセッサを搭載した最新の 15 インチ rMPB を使用しています。プログラムを実行すると、eat が 14 GB のすべてまたは空き RAM の一部を消費し、181 a という数字を出力した後にクラッシュします。少しだけ。