PAT (Basic Level) 1013 数素数 (20分)JAVA解法

在这里插入图片描述

输入样例:

5 27

输出样例:

11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103



import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int e = sc.nextInt();
		int l = sc.nextInt();
		isp(e,l);
//		is();
	}
//	private static void is() {
//		boolean flag;
//		int cnt=0;
//		for(int i = 3; i<1000000;i+=2) {
//			flag=true;
//			for(int j =3;j<=Math.sqrt(i);j+=2) {
//			if(i%j==0) {
//				flag=false;
//				}
//			}
//			if (flag) {
//	        	cnt++;
//	        	if(cnt==10000) {
//	        		System.out.println(i);
//	        		return;
//	        	}
//	        }  
//		}
//	}
	
	private static void isp(int e, int l) {
		int num=110000;
		boolean bool;
		boolean first=true;
		List<Integer> list = new ArrayList<>();
	    for (int i = 3; i < num; i +=2) {
	        bool = true;
	        for (int j = 3; j <= Math.sqrt(i); j+=2) {
	            if (i % j == 0) {
	                bool = false;
	            }
	        }
	        if (bool) {
	        	if(first) {
	        		list.add(2);
	        		first=false;
	        	}
	        	
	        	list.add(i);
	        	//System.out.println(i);
	        }  
	    }
	    int cnt=0;
	    for (int i = e-1; i < l; i++) {
	    	if(cnt==10) {
	    		System.out.println();
	    		cnt=0;
	    	}
	    	cnt++;
	    		System.out.print(i==l-1||cnt==10 ? list.get(i) :list.get(i)+" ");
	    	
			
		}
	    
	}
}

在这里插入图片描述

发布了81 篇原创文章 · 获赞 1 · 访问量 998

猜你喜欢

转载自blog.csdn.net/qq_44028719/article/details/104310373
今日推荐