0

我正在使用 Java 在线编辑器在Gild.com上提交我的 Euler10 拼图代码。该代码在我的 PC 上的所有测试用例中都能完美运行,但在 Gild 上编译失败。我遵循它的所有编码规则,但我认为我仍然缺少一些东西。这是我的代码:

class Euler10 {

public static void main(String[] args) throws java.lang.Exception
{
    java.io.BufferedReader br = new java.io.BufferedReader (new java.io.FileReader(args[0]));
    int number = Integer.parseInt(br.readLine());
    boolean[] isPrime = new boolean[number + 1];
    for (int i = 2; i <= number; i++)
        isPrime[i] = true;
    for (int i = 2; i*i <= number; i++)
    {
        if (isPrime[i])
        {
            for (int j = i; i*j <= number; j++)
                isPrime[i*j] = false;
        }
    }
    long primesum = 0;
    for (int i = 2; i < number; i++)
    {
       if (isPrime[i])
          primesum = primesum+i;
    }
    System.out.println(""+primesum+"\n");
}

}


在调试模式下编译此代码后,我收到以下错误:



上面显示的我的程序输出与测试用例输出相同,即使它给出了错误的结果。
还要告诉我在这种情况下什么是差异输出。

(我只想在在线编辑器中提交代码。)

Gild coding Puzzle FAQs &
Submission Guidelines

谢谢

4

2 回答 2

0

你的程序产生了错误的结果,并且(1)你没有告诉我们它应该做什么,你也没有(2)向我们展示你的程序。我们这里是通灵者吗?

无论如何, diff (差异的缩写)输出向您显示输出末尾有一个换行符,它不应该在那里,或者可能相反 - 您必须阅读“帮助读取差异输出”链接。)

这有帮助吗?

于 2012-03-20T14:00:00.390 回答
0

似乎问题在于您的输出与预期输出不同。尝试用你的最后一行System.out.println(""+primesum+"\n");替换(System.out.println(""+primesum);

于 2012-03-20T14:43:53.800 回答