java - 欧拉项目#10,java

标签 java primes

Possible Duplicate:
Project Euler, Problem 10 java solution not working

所以,我正在尝试解决 Project Euler Problem 10在Java中,我没有得到正确的答案。这是我的代码:

public class Problem10 {
public static void main(String[] args)
{
    long sum =0;
    for(int i =3;i<2000000;i+=2)
    {
        if(isPrime(i))
        {
            sum+=i;
        }
    }
    System.out.println(sum);
}

public static boolean isPrime(int n)
{
    boolean prime = true;
    if (n<2) return false;
    if (n==2) return true;
    if (n%2==0) return false;
    for (int i = 3; i<=Math.sqrt(n);i+=2)
    {
        if (n%i==0)
        {
            prime=false;
            break;
        }
    }
    return prime;
}
}

打印出 142913828920,Euler 告诉我哪个项目是错误的。

有什么想法吗?

(另外,我知道我寻找素数的方法效率非常低。)

最佳答案

for(int i =3;i<2000000;i+=2)

2 是素数。

关于java - 欧拉项目#10,java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3399451/

相关文章:

java - 如何在 Java 中使用 PHP 正则表达式从字符串中检索主题标签?

python - 检查列表是否包含交替素数和完全平方数

java - 如何优化算法以能够在java中确定10位长素数

java - java 质数检查器

algorithm - F#。解决 Project Euler #3 问题时因超时而终止

c - 我想优化这个程序

java - 使用 servlet 或 jsp 获取数据库更新

java - 谁能解释一下@RequestMapping 和@RequestBody 是如何工作的?

java - java中缓冲图像的颜色重新缩放

java - 算法 : Hybrid MergeSort and InsertionSort Execution Time