查找某区间内的质数
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
#define M 50000
#define MAX 0x140000
bool vis[MAX];
int main(){
int n;
cin>>n;
for (int i=2;i<MAX;i++){
vis[i]=0;
}
int N=sqrt((double)MAX);
for (int i=2;i<=N;i++)
{
if (!vis[i])
{
int x=MAX/i;
for (int j=2;j<=x;j++)
{
vis[i*j]=1;
}
}
}
int pro=2;
int count=1;
int k=3;
while (count<n)
{
if (!vis[k])
{
pro=(pro*k)%M;
count++;
}
k++;
}
cout<<pro<<endl;
return 0;
}