-
C++ में जांचें कि दिया गया वृत्त दो संकेंद्रित वृत्तों द्वारा बने छल्ले के अंदर पूरी तरह से स्थित है या नहीं
r। एक और वृत्त भी मौजूद है। इसकी त्रिज्या (r1) और केंद्र बिंदु दिए गए हैं, हमें जांचना है कि वह बिंदु पहले दो वृत्तों द्वारा बने छल्ले के अंदर है या नहीं।= r और (दूरी - r1) <= R, यदि दोनों सत्य हैं, तो वृत्त छल्ले के अंदर है।उदाहरण#include <iostream> #include <cmath> using namespace std;
-
C++ में जांचें कि दी गई स्ट्रिंग सम-स्ट्रिंग है या नहीं
यहां हम देखेंगे कि कोई स्ट्रिंग सम-स्ट्रिंग (sum-string) है या नहीं, इसकी जांच कैसे करें। एक स्ट्रिंग को सम-स्ट्रिंग कहा जाता है यदि इसका सबसे दायां सबस्ट्रिंग, उससे पहले के दो सबस्ट्रिंग के योग के रूप में लिखा जा सकता है, और यही नियम उससे पहले के सबस्ट्रिंग के लिए पुनरावर्ती रूप से सत्य होता है। मा
-
C++ में जांचें कि दिया गया ट्री ग्राफ रैखिक है या नहीं
यहां हम देखेंगे कि ट्री ग्राफ रैखिक है या नहीं, इसकी जांच कैसे करें। एक रैखिक ट्री ग्राफ को एक ही पंक्ति में व्यक्त किया जा सकता है। मान लीजिए यह एक रैखिक ट्री ग्राफ का उदाहरण है।लेकिन यह रैखिक नहीं है -किसी ग्राफ की जांच करने के लिए कि वह रैखिक है या नहीं, हम दो शर्तों का पालन कर सकते हैं:यदि नोड्स
-
C++ में ग्राफ दृढ़ता से जुड़ा (Strongly Connected) है या नहीं जांचें - कोसराजू एल्गोरिदम
दृढ़ता से जुड़ा ग्राफ एक निर्देशित ग्राफ दृढ़ता से जुड़ा है यदि किन्हीं दो शीर्षों के बीच दोनों दिशाओं में पथ मौजूद हो। कोसराजू एल्गोरिदम (DFS आधारित) सभी नोड्स को अनविजिटेड मार्क करें किसी भी शीर्ष से DFS करें। यदि सभी नोड्स विजिट नहीं हुए → false सभी एज उलट दें (ट्रांसपोज ग्राफ) फिर से सभी अनवि
-
C++ में रेखा वृत्त को स्पर्श करती है, प्रतिच्छेद करती है या बाहर है जांचें
समस्या विवरण एक वृत्त (केंद्र h,k और त्रिज्या r) और रेखा (ax+by+c=0) दी गई है। जांचें कि रेखा वृत्त को स्पर्श करती है, प्रतिच्छेद करती है, या बाहर है। विधि केंद्र से रेखा की लंबवत दूरी P निकालें: P = |ah + bk + c| / √(a²+b²) P की त्रिज्या r से तुलना करें: r → बाहर P = r → स्पर्श करती है
-
C++ में मैट्रिक्स व्युत्क्रमणीय (Invertible) है या नहीं जांचें
समस्या विवरण एक मैट्रिक्स व्युत्क्रमणीय है यदि उसका निर्धारक (determinant) शून्येतर है। व्युत्क्रम सूत्र: M⁻¹ = adj(M) / |M| एल्गोरिदम पुनरावर्ती रूप से निर्धारक की गणना करें कोफैक्टर मैट्रिक्स बनाएं यदि निर्धारक ≠ 0 → व्युत्क्रमणीय उदाहरण कोड #include <iostream> #define N 4 using namespa
-
C++ में प्रत्येक पंक्ति से संख्या चुनकर XOR शून्य से बड़ा है या नहीं जांचें
समस्या विवरण N×M 2D सरणी दी गई है। जांचें कि क्या प्रत्येक पंक्ति से एक संख्या चुन सकते हैं जिससे उनका XOR शून्येतर (non-zero) हो। उदाहरण मैट्रिक्स: 7 7 7 10 10 7 पहले कॉलम का XOR: 7⊕10=13 ≠ 0 → संभव सरल समाधान पहले कॉलम के सभी तत्वों का XOR लें यदि ≠ 0 → संभव है यदि = 0, तो जांचें कि क्या किसी
-
C++ में बाइनरी स्ट्रिंग में लंबाई k के सभी क्रमचय हैं या नहीं जांचें
समस्या विवरण एक बाइनरी स्ट्रिंग और पूर्णांक k दिया गया है। जांचें कि स्ट्रिंग में k-बिट बाइनरी संख्याओं के सभी 2^k क्रमचय सबस्ट्रिंग के रूप में मौजूद हैं या नहीं। उदाहरण: str=11001, k=2 → आवश्यक: 00, 01, 10, 11 → सभी मौजूद हैं → YES एल्गोरिदम k लंबाई के सभी 2^k बाइनरी क्रमचय उत्पन्न करें प्रत्ये
-
C++ में बाइनरी ट्री (नॉन-BST) में डुप्लिकेट मान हैं या नहीं जांचें
समस्या विवरण एक बाइनरी ट्री (BST नहीं) दिया गया है, जांचें कि क्या इसमें कोई डुप्लिकेट मान है। हल: हैशिंग ट्री ट्रैवर्स करें, प्रत्येक नोड के लिए हैश सेट में जांचें। यदि पहले से मौजूद है → डुप्लिकेट है। उदाहरण कोड right = NULL; return newNode; } bool hasDuplicateHelper(Node* root, unordered_
-
C++ में बाइनरी ट्री में आकार 2 या अधिक के डुप्लिकेट सबट्री हैं या नहीं जांचें
समस्या विवरण बाइनरी ट्री में आकार 2 या अधिक के डुप्लिकेट सबट्री हैं या नहीं जांचें। हल: ट्री सीरियलाइजेशन + हैशिंग प्रत्येक सबट्री को स्ट्रिंग के रूप में सीरियलाइज़ करें (नल के लिए $ मार्कर) सीरियलाइज्ड स्ट्रिंग्स को हैश सेट में स्टोर करें यदि कोई नॉन-लीफ सबट्री पहले से सेट में है → डुप्लिकेट मिल
-
C++ में बाइनरी ट्री लेवल-वाइज क्रमबद्ध है या नहीं जांचें
समस्या विवरण जांचें कि बाइनरी ट्री लेवल-वाइज क्रमबद्ध है या नहीं। प्रत्येक लेवल में नोड्स बाएं से दाएं क्रमबद्ध हों और प्रत्येक लेवल के मान पिछले लेवल से बड़े हों। एल्गोरिदम (लेवल ऑर्डर ट्रैवर्सल) क्यू का उपयोग करके लेवल ऑर्डर ट्रैवर्सल प्रत्येक लेवल के लिए न्यूनतम (min_val) और अधिकतम (max_val) ट
-
C++ में स्ट्रिंग में सेल एक से अधिक बार विजिट हो सकता है या नहीं जांचें
समस्या विवरण एक स्ट्रिंग दी गई है जिसमें डॉट (.) और संख्याएं हैं। डॉट = खाली सेल, संख्या x = x कदम दाएं या बाएं चल सकते हैं। जांचें कि क्या कोई सेल एक से अधिक बार विजिट हो सकता है। उदाहरण: .2...2.. → 4था सेल दो तरीकों से विजिट हो सकता है दृष्टिकोण विजिटेड सरणी में प्रत्येक सेल की विजिट गिनती ट्रै
-
C++ में सरणी BST के प्रीऑर्डर ट्रैवर्सल को दर्शा सकती है या नहीं जांचें
समस्या विवरण एक सरणी दी गई है, जांचें कि क्या यह किसी BST का वैध प्रीऑर्डर ट्रैवर्सल हो सकती है। उदाहरण: {40, 30, 35, 80, 100} → वैध BST प्रीऑर्डर एल्गोरिदम (स्टैक का उपयोग) खाली स्टैक और root = INT_MIN प्रत्येक तत्व के लिए: यदि तत्व < root → false स्टैक टॉप: स्टैक से पॉप करें, अंतिम पॉप
-
C++ में मैट्रिक्स हैंकेल (Hankel) है या नहीं जांचें
हैंकेल मैट्रिक्स क्या है? एक वर्ग मैट्रिक्स जहां प्रत्येक आरोही तिर्यक विकर्ण (skew-diagonal) के तत्व स्थिर होते हैं। अर्थात mat[i][j] केवल i+j पर निर्भर करता है। उदाहरण 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 जांच नियम mat[i][j] = a[i+j] जहां: यदि i+j < n: a[i+j] = mat[i+j][0] अन्यथा:
-
C++ में मोबाइल नंबर फैंसी है या नहीं जांचें
फैंसी नंबर की शर्तें 10 अंकों का मोबाइल नंबर फैंसी है यदि इनमें से कोई एक शर्त पूरी हो: कोई अंक लगातार तीन बार आए (जैसे 555) लगातार तीन अंक बढ़ते या घटते क्रम में हों (123 या 321) कोई अंक चार या अधिक बार आए उदाहरण कोड #include <iostream> #include <string> using namespace std; bool c
-
C++ में जांचें कि संख्या दिए गए अंकों में किसी आधार में प्रदर्शित हो सकती है या नहीं
समस्या विवरण संख्या n और अंकों की संख्या d दी गई है। जांचें कि क्या n को आधार 2 से 32 में से किसी में d अंकों में प्रदर्शित किया जा सकता है। उदाहरण: n=8, d=4 → बाइनरी में 1000 (4 अंक) → YES एल्गोरिदम आधार 2 से 32 तक जांचें यदि n < आधार और d==1 → true 1 → पुनरावर्ती रूप से n/आधार और d-1 के साथ जा
-
C++ में जांचें कि संख्या अपने अंकों के फैक्टोरियल योग से विभाज्य है या नहीं
समस्या विवरण एक पूर्णांक दिया गया है, जांचें कि क्या यह संख्या अपने अंकों के फैक्टोरियल के योग से विभाज्य है। उदाहरण: 19 → 1! + 9! = 1 + 362880 = 362881 → 362881 ÷ 19 = 19099 → विभाज्य उदाहरण कोड #include <iostream> using namespace std; int factorial(int n) { if (n == 1 || n == 0) retu
-
C++ में प्रोनिक संख्या (Pronic Number) जांचें
प्रोनिक संख्या क्या है? एक संख्या जो दो लगातार पूर्णांकों का गुणनफल हो: n = x × (x + 1) पहली प्रोनिक संख्याएं: 0, 2, 6, 12, 20, 30, 42, 56, 72, 90, 110, 132, 156, 182, 210, 240, 272, 306, 342... उदाहरण कोड #include <iostream> #include <cmath> using namespace std; bool isPronicNumber(i
-
C++ में बड़ी संख्या को समान योग वाले खंडों में विभाजित करें
समस्या विवरण जांचें कि क्या एक बड़ी संख्या (स्ट्रिंग के रूप में) को दो या अधिक खंडों में बांटा जा सकता है जिनके अंकों का योग समान हो। उदाहरण: 74325 → (7), (4,3), (2,5) → सभी का योग 7 एल्गोरिदम प्रीफिक्स योग सरणी बनाएं प्रत्येक संभावित पहले खंड के लिए (0 से i-1) शेष स्ट्रिंग को समान योग वाले खंडो
-
C++ में बड़ी संख्या 13 से विभाज्य है या नहीं जांचें
13 से विभाज्यता के नियम ब्लॉक विधि: दाएं से बाएं 3-3 अंकों के ब्लॉक का वैकल्पिक योग 13 से विभाज्य हो अंकीय विधि: अंतिम अंक × 4 को शेष संख्या में जोड़ें, दोहराएं उदाहरण (अंकीय): 2353 → 235+3×4=247 → 24+7×4=52 → 52÷13=4 → विभाज्य उदाहरण कोड (ब्लॉक विधि) = 0; i--) { int block = 0;