下面等于'n'的素数之和不正确?怎么了?

时间:2017-02-26 09:07:21

标签: java sum primes

** _此代码正确但输入测试用例失败

下面的素数总和不正确?怎么了?

下面的素数总和不正确?

前n个素数的平方和

总结前N个素数[关闭]

这是我正在与之抗争的代码,请帮助我。

hospital_data = 

        row_names: {100x1 cell}
         LastName: {100x1 cell}
              Sex: [100x1 nominal]
              Age: [100x1 double]
           Weight: [100x1 double]
           Smoker: [100x1 logical]
    BloodPressure: [100x2 double]
           Trials: {100x1 cell}

2 个答案:

答案 0 :(得分:1)

int t = in.nextInt();
while(t-->0)

我把

 System.out.println("** b[1000] = " + b[1000]) ;

并得到了3682913! 前1000个素数的总和是正确的。 所以,检查你的打印循环!

答案 1 :(得分:1)

import java.util.*;

public class Solution {

    public static void main(String[] args) {
        int a[] = new int[10000];
        int b[] = new int[10000];
        int c[] = new int[10000];
        Arrays.fill(a,1);
        Scanner in = new Scanner(System.in);
        for(int i=2;i<1000;i++)
            if(a[i]==1)
                for(int j=i*i;j<10000;j+=i)
                    a[j]=0;
        b[0]=0;
        int k=1;
        for(int i=2;i<10000;i++)
            if(a[i]==1)
            {
                b[k]=i+b[k-1];
                c[k]=i;
                k++;
            }
        int t = in.nextInt();
        while(t-->0)
        {
            int n = in.nextInt();
            System.out.println(b[n]);
        }
    }   
}

这是正确的代码,你可以总结到近1200(<1300)&#39;素数和。 如果我们想要超越它,我们可以在代码中增加它..