हमें एक संख्या 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