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

C++ में दी गई श्रेणी में सबसे बड़े जुड़वां खोजें

इस समस्या में, हमें दो मान lValue और hValue दिए गए हैं। हमारा काम है दी गई सीमा में सबसे बड़े जुड़वा बच्चों को ढूंढना

दो संख्याएँ जुड़वां संख्याएँ कहलाती हैं यदि वे दोनों अभाज्य संख्याएँ हैं और उनके बीच का अंतर 2 है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

Input : lValue = 65, rValue = 100
Output : 71, 73

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

समस्या का एक सरल समाधान है rValue - 2 से lValue में लूप करना और जुड़वा बच्चों के लिए i और (i+2) की प्रत्येक जोड़ी की जाँच करना और पहले घटित जुड़वा को प्रिंट करना।

एक और तरीका श्रेणी में सभी अभाज्य संख्याओं का पता लगाकर है और फिर i और (i+2) की सबसे बड़ी जोड़ी के लिए जाँच करें जो अभाज्य हैं और

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम

#include <bits/stdc++.h>
using namespace std;
void findLargestTwins(int lValue, int uValue) {
   bool primes[uValue + 1];
   memset(primes, true, sizeof(primes));
   primes[0] = primes[1] = false;
   for (int p = 2; p <= floor(sqrt(uValue)) + 1; p++) { 
      if (primes[p]) {
         for (int i = p * 2; i <= uValue; i += p)
         primes[i] = false;
      }
   }
   int i;
   for (i = uValue; i >= lValue; i--) {
      if (primes[i] && (i - 2 >= lValue && primes[i - 2] == true)) {
         break;
      }
   }
   if(i >= lValue )
      cout<<"Largest twins in given range: ("<<(i-2)<<", "<<i<<")";
   else 
      cout<<"No Twins possible";
}
int main(){
   int lValue = 54;
   int uValue = 102;
   findLargestTwins(lValue, uValue);
   return 0;
}

आउटपुट

Largest twins in given range: (71, 73)

  1. C++ में 2, 3 और 5 का सबसे बड़ा गुणज ज्ञात कीजिए

    इस समस्या में, हमें आकार N का एक सरणी arr[] दिया जाता है जिसमें केवल एकल अंक होते हैं। हमारा काम है 2, 3 और 5 का सबसे बड़ा गुणज खोजना । समस्या को समझने के लिए एक उदाहरण लेते हैं, Input : arr[] = {1, 0, 5, 2} Output : 510 स्पष्टीकरण - The number 510 is divisible by all 2, 3, 5. समाधान दृष्टिकोण

  1. C++ में दी गई संख्या N के भाजक में सबसे बड़ी अच्छी संख्या ज्ञात कीजिए

    इस समस्या में, हमें एक संख्या N दी जाती है। हमारा कार्य दिए गए संख्या N के भाजक में सबसे बड़ी अच्छी संख्या ज्ञात करना है। । एक अच्छी संख्या2। समस्या को समझने के लिए एक उदाहरण लेते हैं, Input : N = 15 Output : 15 स्पष्टीकरण - Divisors of 15 : 1, 3, 5, 15. समाधान दृष्टिकोण समस्या का एक सरल समाधा

  1. किसी दिए गए बाइनरी ट्री में सबसे बड़ा BST सबट्री खोजें - C++ में 1 सेट करें

    इस समस्या में हमें एक बाइनरी ट्री BT दिया जाता है। हमारा काम है किसी दिए गए बाइनरी ट्री में सबसे बड़ा BST सबट्री ढूंढना । बाइनरी ट्री एक विशेष डेटा संरचना है जिसका उपयोग डेटा भंडारण उद्देश्यों के लिए किया जाता है। बाइनरी ट्री की एक विशेष शर्त होती है कि प्रत्येक नोड में अधिकतम दो बच्चे हो सकते हैं।