Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में अगला पालिंड्रोम अभाज्य संख्या ढूंढना


इस समस्या में, हमें एक तत्व N दिया जाता है। हमें अगला पालिंड्रोम अभाज्य संख्या ढूंढना है।

समस्या विवरण – हमें N से बड़ी सबसे छोटी अभाज्य संख्या ढूंढनी है जो एक पालिंड्रोम संख्या भी है।

पालिंड्रोम संख्या वह संख्या है जिसमें अंक दोनों दिशाओं में समान होते हैं।

अभाज्य संख्या वह संख्या है जिसके केवल गुणनखंड 1 और स्वयं होते हैं।

आइए एक उदाहरण से समस्या को समझते हैं,

इनपुट

N = 12

आउटपुट

101

व्याख्या

12 से बड़ी पालिंड्रोम की श्रृंखला 22, 33, 44, 55, 66, 77, 88, 99, 101… है जिनमें से सबसे छोटी अभाज्य पालिंड्रोम 101 है।

समाधान दृष्टिकोण

इस समस्या का एक सरल समाधान N से बड़ी उन सभी पालिंड्रोम को ढूंढना है जो अभाज्य हैं।

एक अधिक कुशल समाधान सम अंक वाले पालिंड्रोम को ढूंढना है जो 11 का गुणक है।

इस समाधान का प्रमाण यहां है,

11% 11 = 0 1111% 11 = 0

इसका उपयोग करके हम सम अंक वाले पालिंड्रोम ढूंढेंगे –

xyzzyx % 11 = 0, जो सभी सम अंक वाली संख्याओं को पालिंड्रोम नहीं बनाता।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला प्रोग्राम,

उदाहरण

#include <iostream> #include <string> using namespace std; bool isPrime(int num) {    if (num < 2 || num % 2 == 0)       return num == 2;    for (int i = 3; i * i <= num; i += 2)       if (num % i == 0)          return false;    return true; } int primePalindrome(int N) {    if (8 <= N && N <= 11)       return 11;    for (int x = 1; x < 100000; ++x) {       string s = to_string(x), r(s.rbegin(), s.rend());       int y = stoi(s + r.substr(1));       if (y >= N && isPrime(y))          return y;    }    return -1; } int main() {    int N = 432;    cout<<"The next prime palindrome is "<<findNextPrimePallindrome(432);    return 0; }

आउटपुट

The next number with same set of digits is 92543

  1. - C++ में अगला विरल संख्या ढूंढना

    इस समस्या में, हमें एक पूर्णांक मान N दिया जाता है। हमारा कार्य अगली विरल संख्या ढूंढने के लिए एक प्रोग्राम बनाना है।विरल संख्या एक विशेष प्रकार की संख्या है जिसके बाइनरी रूपांतरण में कोई आसन्न 1 नहीं होते।उदाहरण: 5(101) , 16(10000)समस्या विवरण – दी गई संख्या N के लिए, हमें N से बड़ी सबसे छोटी संख्य

  1. - C++ में सरणी में अगले बड़े के अगले छोटे को ढूंढना

    इस समस्या में, हमें n पूर्णांक मानों वाली एक सरणी arr[] दी जाती है। हमारा कार्य सरणी में अगले बड़े के अगले छोटे को ढूंढना है।समस्या विवरण – हम सरणी में वर्तमान तत्व से बड़ा एक तत्व ढूंढेंगे और फिर हम सरणी में उस तत्व को ढूंढेंगे जो इस बड़े तत्व से छोटा है। और यदि सरणी में कोई अगला छोटा या अगला बड़ा

  1. C++ में बाइनरी ट्री में दी गई कुंजी का अगला दायां नोड ढूंढना C++ में बाइनरी ट्री में दी गई कुंजी का अगला दायां नोड ढूंढना

    इस समस्या में, हमें एक बाइनरी ट्री BT और एक कुंजी मान दिया जाता है। हमारा कार्य दी गई कुंजी का अगला दायां नोड ढूंढना है।बाइनरी ट्री डेटा स्टोरेज उद्देश्यों के लिए उपयोग की जाने वाली एक विशेष डेटा संरचना है।आइए एक उदाहरण से समस्या को समझते हैं,इनपुटkey = 4आउटपुट5व्याख्यानोड 4 के बगल में स्थित तत्व 5