c#语言输入一个正整数n,求第n小的质数。
时间: 2024-10-21 14:08:04 浏览: 17
C#判断一个正整数是否为素数
在 C# 中,你可以通过以下步骤编写一个程序来输入一个正整数 n 并找出第 n 小的质数:
1. 首先,创建一个函数来检查一个数字是否为质数。质数是指只有两个正因数(1 和自身)的自然数。
2. 然后,编写一个循环,从 2 开始递增,直到找到第 n 个质数。可以利用一个变量来记录当前发现的质数的数量。
3. 如果当前数是质数,并且已经找到了第 n 个质数,就返回这个数;如果不是,继续检查下一个数。
下面是一个简单的示例代码:
```csharp
using System;
class PrimeFinder {
static bool IsPrime(int number) {
if (number <= 1) return false;
for (int i = 2; i * i <= number; i++) {
if (number % i == 0) return false;
}
return true;
}
static int FindNthPrime(int n) {
int count = 0;
int currentNumber = 2;
while (count < n) {
if (IsPrime(currentNumber)) {
count++;
if (count == n) return currentNumber;
}
currentNumber++;
}
throw new ArgumentException("There are less than n prime numbers.");
}
public static void Main(string[] args) {
Console.Write("Enter a positive integer n: ");
int input = Convert.ToInt32(Console.ReadLine());
try {
int nthPrime = FindNthPrime(input);
Console.WriteLine($"The {input}th prime number is: {nthPrime}");
} catch (ArgumentException e) {
Console.WriteLine(e.Message);
}
}
}
```
当你运行这个程序并输入一个正整数 n,它会输出第 n 小的质数。如果 n 太大以至于找不到那么多质数,`FindNthPrime` 函数会抛出一个异常。
阅读全文