也就是欧拉筛的模板题:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int mod=50000;
const int maxn=100000001;
int prime[maxn];
bool sf[maxn];
void sushu()
{ //核心 欧拉筛代码
int num=0;
memset(sf,1,sizeof(sf));
for(int i=2;i<=maxn;i++){
if(sf[i]) prime[++num]=i;
for(int j=1;j<=num;j++){
if(i*prime[j]>maxn) break;
sf[i*prime[j]]=0;
if(i%prime[j]==0) break;
}
}
sf[1]=0;
sf[0]=0;
}
int main()
{
sushu();
int n;
scanf("%d",&n);
int ans=1;
for(int i=1;i<=n;i++)
{
ans=(ans*prime[i])%mod;
}
printf("%d\n",ans);
}