PRIME1 - Prime Generator

Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate all prime numbers between two given numbers!


The input begins with the number t of test cases in a single line (t<=10). In each of the next t lines there are two numbers m and n (1 <= m <= n <= 1000000000, n-m<=100000) separated by a space.


For every test case print all prime numbers p such that m <= p <= n, one number per line, test cases separated by an empty line.


1 10
3 5


Warning: large Input/Output data, be careful with certain languages (though most should be OK if the algorithm is well designed)


After cluster change, please consider PRINT as a more challenging problem.

hide comments
milw0rm_007: 2018-06-14 10:36:35

Time limit exceeding in Java... How to get through this?

ajayc1007: 2018-06-12 17:46:19

Check divisibility by 6n+1 and 6n-1. Then try !
Thanks @trunghieu99tt

s0leno1d: 2018-06-11 20:08:59

For those troubled with the sieve...
Remember that Complexity of sieve is O(sqrt(n)*log(log(n))) and that of sqrt(n) method is O(sqrt(n))
But here, we're interested in printing the primes between m and n as well, so the complexities respectively modify to O(n*sqrt(n)*log(log(n))) and O((n-m)*sqrt(n)).
Now check the constraints... you'll be shocked. ;)

chinki1234: 2018-06-11 12:39:13

how to deal with "time limit exceeded"?

andres_97: 2018-06-02 18:50:48

not it's necesary sieve erastothenes AC one go Time 3.6 s in c++

Last edit: 2018-06-02 18:51:25
sillypie: 2018-05-26 22:48:16

i am using segmented sieve and having TLE. please help!

vgupta1127: 2018-05-24 11:12:48

Time Limit exceeding coming ;(

ixodus: 2018-05-23 20:43:28

I have attempted it using Python, but with a pretty naive approach.
could someone please help me out? I'm getting a ' Time Limit Exceeded' error. The 2nd problem on this site for me :/

jeffselal: 2018-05-20 17:22:18

I am getting a seg fault
Here is my source code
Any suggestions to get rid of this

Last edit: 2018-05-20 17:38:59
mushusax: 2018-05-16 18:11:38

let m <= i <= n
I initially would've looped to check divisibility between 2 and i / 2. Why does 2 and sqrt(i) work? Would it not be less accurate?

Added by:Adam Dzedzej
Time limit:6s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS PERL6