$ 0 0 求第100002个素数。(2是第一个素数) 结题思路:素数筛法 代码如下: import java.util.Arrays;public class Copy_2_of_Main { static int N = 10000000; static int count; static int rs[] = new int[N]; static boolean tg[] = new boolean[N];//is prime public static void main(String[] args) { Arrays.fill(tg, true); int ed = (int)Math.sqrt(N) + 1; for(int i = 2; i <= ed; i++){//素数筛法 if(tg[i]){ for(int j = i * 2; j < N; j += i){// j += i tg[j] = false; } } } count = 0; for(int i = 2; i < N; i++){ if(tg[i] == true){ rs[count++] = i; } } System.out.println("count=" + count); System.out.println("result=" + rs[100001]);// for(int i = 0; i < count; i++)// System.out.println(rs[i]); } } 小鼠标 2013-07-06 19:38 发表评论