Alogo :-
Step 1:- take input both the numbers let say m and n;
Step 2:- let p be the first prime number from m ,
Step 3:- remove all the numbers from the list which are divisible by p,
Step 4 :- take the next number in the list this will be the next prime p and repeat
step 3.
Step 5 :- continue the steps until p is less then square root of n;
Step 6 :- print the remaining numbers;
JAVA CODE GIVEN BELOW :- for generating primes between 1 and 100000000.
---------------------------------------------------------------------------------------------------------------------------------------
import java.io.*;
import java.util.BitSet;
public class Prime_generator
{
public static void main(String args[])
{
prime p = new prime();
}
}
class prime
{ boolean ans[];
prime()
{
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintStream ps = new PrintStream(System.out);
BitSet primes = new BitSet(31622);
for(int i =1;i<=31622; i++)
{
primes.set(i);
}
for(int i=2;i<=31622;i++)
{
if(primes.get(i))
{
for(int j = i*2;j<=177;j++)
{primes.set(j,false);}
}
}//end for
int tc = Integer.parseInt(br.readLine());
while(tc>0)
{
String str = "";
str = br.readLine();
String data[] = str.split(" ");
int m = Integer.parseInt(data[0]);
int n = Integer.parseInt(data[1]);
ans = new boolean[n-m+1];
if(m == 1){m++;}
for(int i = 2;i<=31622;i++)
{
if(primes.get(i))
{
int p = m-m%i;
if(p<m){p = p+i;}
if(p == i){p = p+i;}
while(p<=n){ans[p-m] = true; p = p+i;}
}
}//end for
for(int j=m;j<=n;j++)
{
if(ans[j-m] == false)
{
ps.println(j);
}
}
ps.println("");
tc--;
}
}catch(Exception e){}
}//end constructor
}
--------------------------------------------------------------------------------------------------------------------------------
input sample : number of test case then both the limits
1
1 10
output :-
2
3
5
7
Step 1:- take input both the numbers let say m and n;
Step 2:- let p be the first prime number from m ,
Step 3:- remove all the numbers from the list which are divisible by p,
Step 4 :- take the next number in the list this will be the next prime p and repeat
step 3.
Step 5 :- continue the steps until p is less then square root of n;
Step 6 :- print the remaining numbers;
JAVA CODE GIVEN BELOW :- for generating primes between 1 and 100000000.
---------------------------------------------------------------------------------------------------------------------------------------
import java.io.*;
import java.util.BitSet;
public class Prime_generator
{
public static void main(String args[])
{
prime p = new prime();
}
}
class prime
{ boolean ans[];
prime()
{
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintStream ps = new PrintStream(System.out);
BitSet primes = new BitSet(31622);
for(int i =1;i<=31622; i++)
{
primes.set(i);
}
for(int i=2;i<=31622;i++)
{
if(primes.get(i))
{
for(int j = i*2;j<=177;j++)
{primes.set(j,false);}
}
}//end for
int tc = Integer.parseInt(br.readLine());
while(tc>0)
{
String str = "";
str = br.readLine();
String data[] = str.split(" ");
int m = Integer.parseInt(data[0]);
int n = Integer.parseInt(data[1]);
ans = new boolean[n-m+1];
if(m == 1){m++;}
for(int i = 2;i<=31622;i++)
{
if(primes.get(i))
{
int p = m-m%i;
if(p<m){p = p+i;}
if(p == i){p = p+i;}
while(p<=n){ans[p-m] = true; p = p+i;}
}
}//end for
for(int j=m;j<=n;j++)
{
if(ans[j-m] == false)
{
ps.println(j);
}
}
ps.println("");
tc--;
}
}catch(Exception e){}
}//end constructor
}
--------------------------------------------------------------------------------------------------------------------------------
input sample : number of test case then both the limits
1
1 10
output :-
2
3
5
7
No comments:
Post a Comment