【思路】:质数打表,乘积乘的同时取余。
【AC代码】:
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
using namespace std;
#define MAX 100000+5
int prime_list[MAX];
int isPrime(int n)
{
int i = 0;
for (i = 2; i <= sqrt(n); i++)
{
if (0==n%i)
return 0;
}
return 1;
}
void PrimeList()
{
int i = 2, cnt = 0;
while (cnt < 100000+2)
{
if (isPrime(i))
prime_list[cnt++] = i;
i++;
}
}
int main()
{
//freopen("in.txt", "r", stdin);
int n = 0, i = 0, mul = 1;
PrimeList();
cin >> n;
for (i = 0; i < n; i++)
{
mul *= prime_list[i];
mul %= 50000;
}
cout << mul;
}