【发布时间】:2011-10-11 14:17:09
【问题描述】:
我必须进入 java protected final static int [] SIEVE = new int [ 1 << 32 ];
但我不能强迫java。
我得到的最大筛子是 2^26,我需要 2^32 来完成我的作业。我尝试使用掩码,但我需要 SIEVE[n] = k where min{k: k|n & k >2}。
编辑 我需要使用 Sieve 找到从 2 到 2^63-1 的因子数,并且 sieve 必须具有 P[n]= 是除数为 n 的最小素数的信息。我知道用筛子我可以将数字分解为 2^52。但是如何在坚持内容的情况下进行练习。
EDIT x2 问题已解决
【问题讨论】:
-
您真正需要做什么?分配一个巨大的数组并不是正确的方法。
-
只有整数会占用 16 GB,所以给自己买一个高端服务器。
-
我认为你不应该为你的家庭作业做这个。
标签: java arrays sieve-of-eratosthenes