题目描述
描述
输入一个正整数n,求第n小的质数。2是第1个质数,3是第2个质数,依次类推
格式
输入格式
一个不超过10000的正整数n。
输出格式
第n小的质数。
时间限制:1000 ms
内存限制:10240 KB
题目来源及自己的思路
一道java oj题,用自己的方法做会内存超限,求助大佬们怎样写能将内存占用控制在限制以内
我的代码
import java.util.Scanner;
public class test{
public static boolean isprime(long a)
{
for(long i=2;i<=Math.sqrt(a);i++)
{
if(a%i==0)
{
return false;
}
}
return true;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt(),cnt=0;
long tag = 0;
for(long i=2;;i++)
{
if(isprime(i))
{
cnt++;
}
if(cnt==a)
{
tag=i;
break;
}
}
in.close();
System.out.println(tag);
}
}