质数的判断+取模注意一下就可以了;
源码附上:
#include <iostream>
#include <math.h>
#include <cstring>
using namespace std;
int A[100001];
void init()
{
int num = 0, j = 2, i;
while (num < 100000)
{
int f = 1;
for (i = 2; i <=sqrt(j)+1; i++)
{
if (j == 2)
break;
if (j%i == 0)
{
f = 0;
break;
}
}
if (f!=0)
{
A[num++] = j;
}
j++;
}
}
int main()
{
int n;
long long sum = 1;
init();
cin >> n;
for (int i = 0; i < n; i++)
{
sum *=A[i] % 50000;
sum %= 50000;
}
cout << sum << endl;
return 0;
}
本文介绍了一种高效的质数判断算法,并通过大数取模优化,实现了一个能够在限定范围内快速计算质数并进行乘法运算的C++程序。通过预计算大量质数并存储在数组中,然后利用取模运算避免溢出,确保了计算的准确性和效率。
223

被折叠的 条评论
为什么被折叠?



