Java代码MLE求助
查看原帖
Java代码MLE求助
501774
laichuanju楼主2021/8/17 15:51
import java.io.PrintStream;
import java.util.*;
import java.math.*;

public class Main {
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//input
		int n = sc.nextInt();
		int[] isPrime = new int[n+5];
		int[] prime = new int[n+5];
		int num = 0;
		//素数筛
		for(int i=2;i<=n;i++) {
			if(isPrime[i] == 0) {
				prime[num++] = i;
			}
			for(int j=0;j<num && i*prime[j]<=n;j++) {
				isPrime[i*prime[j]] = 1;
				if(i % prime[j] == 0) break;
			}
		}
		//output
		int q = sc.nextInt();
		for(int i=0;i<q;i++) {
			int x = sc.nextInt();
			System.out.println(prime[x-1]);
		}
	}
}

我看题解都是c++的,也开了一样大的数组,为啥java内存就爆了

2021/8/17 15:51
加载中...