java - 我的埃拉托色尼筛有什么问题

标签 java numbers sum primes

我试图找出 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/

相关文章:

java - JSP 文件无法识别 ArrayList?

java - 在 Java 中将实数转换为 Comparable?

java - 是否可以在不装箱/拆箱的情况下添加包装数字?

algorithm - 散列数值的最佳算法?

Mysql按年和月获取列和组的平均值和总和

mysql - 根据货币计算 SUM

Python无法进行矩阵求和

java - 没有从 JSlider 获得值(value)

java - 通过扩展 BaseActivites 来划分职责是不好的做法吗?

java - 了解实体映射到数据库 View 的删除或更新