Scanner as = new Scanner(System.in); System.out.print("please input a number: "); int index = as.nextInt(); boolean[]A = new boolean[index+1]; for (int a = 2; a < A.length; a++ ) { A[a]=true; } double sqrt_index=Math.sqrt(index); for(int i=2; i < sqrt_index; i++) { if (A[i] == true) { for (int k = 0; k <= index; k++) { int j = i*i + k*i; if(j <= index){ A[j] = false; } } } } for(int x=2; x <= index; x++) { if (A[x] == true) { System.out.println(x); } }
Java 输入一个数,生成从1到这个数之间的所有质数
最新推荐文章于 2024-01-02 16:41:36 发布