हमें एक संख्या n दी गई है, हमें निकटतम अभाज्य संख्या ज्ञात करनी है जो n से कम हो। यदि हम n - 1 से जाँच करना शुरू करते हैं तो हम आसानी से संख्या का पता लगा सकते हैं। आइए कुछ उदाहरण देखें।
इनपुट
10
आउटपुट
7
एल्गोरिदम
- संख्या n प्रारंभ करें।
- एक लूप लिखें जो n-1 से 1 तक पुनरावृत्त हो
- पहला प्राइम नंबर लौटाएं जो आपको मिला है
- वापसी -1 यदि आपको कोई ऐसा अभाज्य नहीं मिला जो दिए गए n से कम हो
कार्यान्वयन
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