Saturday, May 14, 2011

SPOJ's Prime Generator - Time Limit Exceeded

Well, I must rethink this...


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;


/**
 *
 * @author antonio
 */
public class Main {


    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException{
        // TODO code application logic here


        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));


        int cases = Integer.parseInt(br.readLine());


       BigInteger lower;
       BigInteger upper;
       BigInteger intermediate;


        for (int i=0; i<cases; i++){


            String [] splitted = br.readLine().split(" ");
            lower = new BigInteger(splitted[0]);


            if (lower.isProbablePrime(100)){
                System.out.println(splitted[0]);
            }


            upper = new BigInteger(splitted[1]);
            intermediate = lower.nextProbablePrime();




            while(intermediate.compareTo(upper)<=0){
                System.out.println(intermediate);
                intermediate = intermediate.nextProbablePrime();


            }


           System.out.println(" ");
        }


    }


}

No comments:

Post a Comment