Tuesday, October 23, 2012

Prime Generator


Sorry for late post i was too busy ....
this is a new problem 

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

Input

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.

Output

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.

Example

Input:
2
1 10
3 5

Output:
2
3
5
7

3
5




Solution :


CC Arun Kumar Gupta

import java.util.*;
public class FastestPrime
{
 public static void main (String [] args)
 {
  Scanner sc = new Scanner(System.in);
  int test_cases = sc.nextInt();
  if((test_cases <=10) && (test_cases > 0))
  {
  for(int i = 0 ; i<test_cases ; ++i)
   {
    int m = sc.nextInt();
    int n = sc.nextInt();
    if((m<= 1000000000) &&(n<=1000000000)&&(n>0)&&(m>0))
    {
    if((n-m) <= 100000)
    {
     if((m % 2) == 0)
     ++m;
     for(int j = m ; j<= n ; ++j)
     {
      NextNum(j);
      j = j+ 1;
      
     }     
    }
    }
  System.out.println(); 
   }
  }
  

 }
 static void  NextNum(int m)
 {
  int div = 3;
  int array [] = new int[1000];
  int rem  = 1 ;
  while((rem != 0) && (div <= (m/2)))
   {
    rem = m%div;
    div = div+2;
   }
  if(rem != 0)
  {
  System.out.println(m);
   }
  
 }
}



2 comments:

Unknown said...

Very simple Logic

Anonymous said...

An excellent post, providing something good to read,it's just good to came across the post on hand sets and its features.