【PAT】乙级1013数素数(java版)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Main {

	public static List suShu(int n,int m) {
		int time =1;int i=0;int j=0;
		List number=new ArrayList();
		if(n==1) {
			number.add(2);
		}
		for(i=3;;i+=2) {
			boolean flag=true;
			for(j=3;j*j<=i;j+=2) {
				if(i%j==0) {
					flag=false;
					break;
				}
			}
			if(flag) {
				time++;
				if(time>=n&&time<=m) {
					number.add(i);
				}
			}
			if(time>=m)
				break;
		}
		return number;
	}
	
	public static void main(String[] args) throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String[] str=br.readLine().split(" ");
		List list=new ArrayList();
		list=suShu(Integer.parseInt(str[0]),Integer.parseInt(str[1]));
		for(int i=0;i

注意点:

1、2是第一个素数,3是第二个素数。所以可以一开始把time设为0,如果n>1,time自动变为1,如果n=1,则从零开始

你可能感兴趣的:(【PAT】乙级1013数素数(java版))