用C++怎么编程求出100到200以内最大的素数和最小的素数。(提示:最小的素数正序找出;最大的素数倒序找出)
时间: 2024-11-06 17:18:49 浏览: 6
在C++中,我们可以编写两个函数来分别找到100到200范围内最小的素数(正序查找)和最大的素数(倒序查找)。首先,我们需要一个辅助函数判断一个数是否为素数:
```cpp
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0)
return false;
}
return true;
}
```
接着,我们来实现正序找最小素数和倒序找最大素数的主函数:
```cpp
int findMinPrime(int start, int end) {
for (int i = start; i <= end; ++i) {
if (isPrime(i))
return i;
}
throw "No prime number found in the range!";
}
int findMaxPrime(int start, int end) {
int maxPrime = 0;
for (int i = end; i >= start; --i) {
if (isPrime(i) && (maxPrime == 0 || i > maxPrime)) {
maxPrime = i;
}
}
return maxPrime;
}
int main() {
try {
int minPrime = findMinPrime(100, 200);
int maxPrime = findMaxPrime(100, 200);
std::cout << "Smallest prime between 100 and 200: " << minPrime << "\n";
std::cout << "Largest prime between 100 and 200: " << maxPrime << "\n";
} catch (const char* msg) {
std::cerr << msg << '\n';
}
return 0;
}
```
这个程序会先尝试找到100到200之间的最小素数,然后找到最大的素数。如果在这个范围内找不到素数,`findMinPrime`函数将抛出异常。
阅读全文