我试图找出 200 万以下所有素数的总和。 不幸的是,我的 Java Eratosthenes 筛子似乎不能正常工作。我的错误在哪里? 请不要发布完全不同版本的代码,只需更正我的错误即可。
这是我的 Java 代码:
public class Euler10 {
public static void main(String args[])
{
int index;
int k;
int seq[]= new int[2000001];
for (int i=0; i<seq.length; i++)
{
seq[i] = i;
}
for (index=2; index<= (int) Math.sqrt(20000000); index++);
{
if (seq[index]!=0)
{
k= index;
while (index<=(int) Math.sqrt(20000000))
{
index *= k;
seq[index]=0;
}
}
}
long somma =0;
for (int siq:seq)
somma +=siq;
System.out.println("somma "+somma);
}
}
最佳答案
for (index=2; index<= (int) Math.sqrt(20000000); index++);
|
Remove this semicolon
关于java - 我的埃拉托色尼筛有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20333640/