【发布时间】:2013-04-15 12:09:08
【问题描述】:
我试图获得 600851475143 之前的所有素数。 我为此使用了埃拉托色尼筛。 这需要我创建一个如此巨大的布尔数组。 坏主意,你可能会耗尽内存。 任何其他方式。我尝试使用字符串,使用值为 0 和 1 的每个索引来表示真或假。但 indexOf 方法也返回 int。
接下来我使用二维数组来解决我的问题。 还有其他更好的方法来存储如此庞大的数组吗?
【问题讨论】:
-
"我试图获取 600851475143 之前的所有素数。"对于欧拉计划问题,这完全是错误的方法。
-
我建议,如果您的解决方案要求您创建 6000 亿个数组条目,那么您需要采用新方法。
-
@Ashok Vector 由一个数组支持,我不知道这会有什么不同。
-
@Ashok 矢量由数组支持并同步。帮不上忙。
-
+1 : 不能使用向量。
标签: java algorithm data-structures