हमें एक संख्या n दी गई है, हमें वह निकटतम अभाज्य संख्या ज्ञात करनी है जो n से छोटी है। हम n - 1 से जांच शुरू करके आसानी से संख्या ढूंढ सकते हैं। आइए कुछ उदाहरण देखते हैं।
इनपुट
10
आउटपुट
7
एल्गोरिदम
- संख्या n आरंभ करें।
- एक लूप लिखें जो n - 1 से 1 तक पुनरावृति करता है।
- पहली अभाज्य संख्या वापस करें जो आपको मिली।
- यदि आपको दी गई n से छोटी कोई अभाज्य संख्या नहीं मिली तो -1 वापस करें।
कार्यान्वयन
निम्नलिखित C++ में उपरोक्त एल्गोरिदम का कार्यान्वयन है:
#include <bits/stdc++.h>
using namespace std;
bool isPrime(int n) {
if (n == 2) {
return true;
}
for (int i = 2; i <= ceil(sqrt(n)); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int getNearestPrimeNumber(int n) {
for (int i = n - 1; i > 1; i--) {
if (isPrime(i)) {
return i;
}
}
return -1;
}
int main() {
int n = 20;
cout << getNearestPrimeNumber(n) << endl;
return 0;
}
आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।
19