编写c#程序 计算出不大于1000的10个最大的素数
时间: 2024-11-03 14:16:51 浏览: 15
在C#中编写一个计算小于1000的前10个最大素数的程序,我们可以利用一个简单的算法,即埃拉托斯特尼筛法(Sieve of Eratosthenes)。以下是实现的一个示例:
```csharp
using System;
class PrimeNumbers
{
static void Main()
{
int limit = 1000;
int[] primes = new int[limit + 1]; // 初始化数组用于存储素数
for (int i = 2; i <= limit; i++)
primes[i] = true; // 默认所有数字都是素数
// 使用筛法找出素数
for (int p = 2; p * p <= limit; p++) // 只需检查到√n
{
if (primes[p])
{
for (int i = p * p; i <= limit; i += p) // 把p的倍数标记为非素数
primes[i] = false;
}
}
// 找出并打印前10个最大素数
int count = 0;
for (int num = limit; count < 10 && num > 1; num--)
{
if (primes[num])
{
Console.WriteLine(num);
count++;
}
}
}
}
```
在这个程序里,我们首先创建了一个布尔数组表示每个数字是否是素数,然后通过埃拉托斯特尼筛法找出所有的素数。最后,我们遍历数组,打印出前10个最大的素数。
阅读全文