इस समस्या में, हमें एक संख्या N दी गई है। हमारा कार्य यह जांचना है कि उस संख्या के विषम स्थानों पर स्थित अंकों का योग एक अभाज्य संख्या देता है या नहीं।
अभाज्यता परीक्षण (Primality Test) वह एल्गोरिदम है जिसका उपयोग यह जांचने के लिए किया जाता है कि दी गई संख्या अभाज्य है या नहीं।
आइए एक उदाहरण से इस समस्या को समझते हैं:
इनपुट: 3425 आउटपुट: नहीं व्याख्या: विषम स्थानों पर अंकों का योग = 5 + 4 = 9, जो एक अभाज्य संख्या नहीं है।
इस समस्या को हल करने का एक आसान तरीका है संख्या में विषम स्थानों पर स्थित सभी अंकों को जोड़ना और फिर जांचना कि यह योग अभाज्य संख्या है या नहीं।
उदाहरण
#include <iostream>
using namespace std;
int oddSum(int n) {
int sum = 0, pos = 1;
while(n) {
if (pos % 2 == 1)
sum += n % 10;
n = n / 10;
pos++;
}
return sum;
}
bool isPrimeNumber(int n) {
if (n <= 1)
return false;
if (n <= 3)
return true;
if (n % 2 == 0 || n % 3 == 0)
return false;
for (int i = 5; i * i <= n; i = i + 6)
if (n % i == 0 || n % (i + 2) == 0)
return false;
return true;
}
int main() {
int n = 1734;
if (isPrimeNumber(oddSum(n)))
cout << "संख्या " << n << " के विषम अंकों का योग अभाज्य संख्या है।";
else
cout << "संख्या " << n << " के विषम अंकों का योग अभाज्य संख्या नहीं है।";
return 0;
}
आउटपुट
संख्या 1734 के विषम अंकों का योग अभाज्य संख्या है।