Java用筛子法求素数
描述现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。 如果输入的整数本身就是素数,则输出该素数本身,距离输出0 输入 第一行给出测试数据组数N(0<N<=10000) 接下来的N行每行有一个整数M(0<M<1000000), 输出 每行输出两个整数 A B. 其中A表示离相应测试数据最近的素数,B表示其间的距离。 样例输入 3 6 8 10 样例输出 5 1 7 1 11 1 1 import java.util.Scanner; 2 3 public class Main { 4 public static void main(String[] args) { 5 int T; 6 Scanner scanner=new Scanner(System.in); 7 int number; 8 int result; 9 int distance; 10 int temp; 11 int N=1000010; 12 int flag[]=new int[N]; 13 int i; 14 int j; 15 16 for(i=0;i<N;i++) 17 flag[i]=0; 18 19 flag[0]=1; 20 flag[1]=1; 21 22 for(i=2;i*i<N;i++){ 23 if