素数是指只能被1和自身整除的自然数,计算前n个素数的乘积在某些数学问题中有着重要的应用。下面,我们将通过C#语言实现这一算法,并给出完整源代码。
- 首先,我们需要定义一个函数用来判断一个数是否为素数。这里我们采用的是试除法,即对于一个数x,从2到sqrt(x)进行遍历,如果存在能够整除x的数,则x不是素数。
bool IsPrime(int x)
{
if (x < 2) return false;
for (int i = 2; i <= Math.Sqrt(x); i++)
{
if (x % i == 0) return false;
}
return true;
}
- 接着,我们编写计算前n个素数的函数。该函数的基本思路是,从2开始遍历自然数,如果当前数是素数则加入素数列表中,直到素数列表长度为n,然后将素数列表中的所有数相乘即可得到前n个素数的乘积。
long ProductOfFirstNPrimes(int n)
{
List<int> primes = new List<int>();
int candidate = 2;
while (primes.Count < n)
{
if (IsPrime(candidate))
{
primes.Add(candidate);
}
candidate++;
}
return primes.Aggregate(1L, (a, b) => a * b);
}
- 最后&