SPOJ 2. Prime Generator.
Code works for smaller inputs
//sieve of Erastosthenes
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<iostream>
#include<algorithm>
#include<vector>
#include<math.h>
using namespace std;
vector<int> prime;
void sieve(int n)
{
for(int i=0;i<=n;i++)
prime.push_back(1);
prime[0]=0;
prime[1]=0;
int m=sqrt(n);
for(int i=2;i<=m;i++)
if(prime[i])
for(int k=i*i;k<=n;k=k+i)
prime[k]=0;
}
int main()
{
sieve(1000);
int cases;
scanf("%d",&cases);
while(cases--){
int m,n;
scanf("%d%d",&m,&n);
for(int i=max(2,m);i<=n;i++){
if(prime[i])
printf("%d\n",i);
}
if(cases!=0)
printf("\n");
}
return 0;
}



Recent Comments