1 / 2
Mar 2022

import java.util.*;
public class Main {

public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
	System.out.println("Input:");
	int test=0;
	if(sc.hasNextLine()) {	
		test = Integer.parseInt(sc.nextLine());
	}
	
	ArrayList<String>print = new ArrayList<String>();
	boolean[] nums;
	int a=0,b = 0;
	for(int j =1;j<=test;j++) {
		String x = sc.nextLine();
		int k = x.indexOf(" ");
		a = Integer.parseInt(x.substring(0,k));
		b = Integer.parseInt((x).substring(k+1));
		nums=new boolean[b+1];
		
		for(int i = 0;i<nums.length;i++) {
			nums[i]=false;
		}
		
		for(int i = a;i<=b;i++) {
			nums[i]=true;
		}
		
		for(int i=2;i*i<=b;i++) {
				for(int p =i*i;p<=b;p+=i ) {
					nums[p]=false;
				}
			
	}
		for(int i = 0;i<nums.length;i++) {
			if(nums[i]==true) {
			print.add(Integer.toString(i));
			}
		
		}
		print.add(" ");
}
	sc.close();
	if(print.size()!=0) {
	print.remove(print.size()-1);
	}
	for(int i= 1;i<print.size();i++) {
		System.out.println(print.get(i));
	}
	}
}
  • created

    Mar '22
  • last reply

    Mar '22
  • 1

    reply

  • 545

    views

  • 2

    users

  • 1

    link

Do you think you can allocate an array with 1,000,000,001 elements?

don’t do this btw, it’ll cause WA if you get past the RE.

System.out.println(“Input:”);

PRIME17