-
C++ में लिंक्ड लिस्ट सर्कुलर है या नहीं जांचें
समस्या विवरण जांचें कि दिया गया लिंक्ड लिस्ट सर्कुलर है या नहीं। एल्गोरिदम हेड नोड को स्टोर करें लिस्ट ट्रैवर्स करें यदि NULL मिले → सर्कुलर नहीं यदि हेड नोड पर वापस आ जाएं → सर्कुलर है उदाहरण कोड next = start; // सर्कुलर बनाएं if (isCircularList(start)) cout << The list
-
C++ में लिंक्ड लिस्ट जोड़ीवार क्रमबद्ध है या नहीं जांचें
समस्या विवरण लिंक्ड लिस्ट में लगातार जोड़ियां क्रमबद्ध हैं या नहीं जांचें। विषम संख्या में तत्व होने पर अंतिम तत्व को नजरअंदाज करें। उदाहरण: {8, 10, 18, 20, 5, 15} → जोड़ियां: (8,10), (18,20), (5,15) → सभी क्रमबद्ध → YES उदाहरण कोड next; } return true; } int main() { Node* start = NU
-
C++ में असामान्य संख्या (Unusual Number) जांचें
असामान्य संख्या क्या है? एक संख्या असामान्य है यदि उसका सबसे बड़ा अभाज्य गुणनखंड उसके वर्गमूल से सख्ती से बड़ा है। 3.74 → असामान्य उदाहरण कोड = 1; } for (int i = 3; i sqrt(num); } int main() { int n = 14; if (isUnusual(n)) cout << n << is an unusual number;
-
C++ में ब्लीक संख्या (Bleak Number) जांचें
ब्लीक संख्या क्या है? एक संख्या n ब्लीक है यदि इसे किसी भी गैर-ऋणात्मक x के लिए x + x में सेट बिट्स की संख्या के रूप में व्यक्त नहीं किया जा सकता। अर्थात, किसी भी x के लिए x + set_bit_count(x) ≠ n। उदाहरण n=3: 2 + set_bits(2)=2+1=3 → ब्लीक नहीं n=4: कोई x नहीं → ब्लीक है उदाहरण कोड #include <
-
C++ में जांचें कि कोई संख्या दूसरी संख्या के सभी अभाज्य भाजकों से विभाज्य है या नहीं
समस्या विवरण दो संख्याएं a और b दी गई हैं। जांचें कि क्या a, b के सभी अभाज्य भाजकों से विभाज्य है। उदाहरण: a=120 (भाजक: 2,3,5), b=75 (भाजक: 3,5) → 120, 3 और 5 से विभाज्य है → YES एल्गोरिदम यदि b=1 तो true (कोई अभाज्य भाजक नहीं) GCD(a,b) निकालें यदि GCD=1 तो false (सह-अभाज्य) अन्यथा पुनरावर्ती रू
-
C++ में मैट्रिक्स में दिए गए गुणनफल वाली जोड़ी जांचें
समस्या विवरण N×M मैट्रिक्स और गुणनफल K दिया गया है। जांचें कि क्या मैट्रिक्स में कोई जोड़ी है जिसका गुणनफल K है। उदाहरण: 4×4 मैट्रिक्स, K=42 → जोड़ी (6, 7) मौजूद है हल: हैशिंग मैट्रिक्स ट्रैवर्स करते हुए हैश सेट में तत्व डालें प्रत्येक तत्व के लिए: यदि K वर्तमान से विभाज्य है और K/वर्तमान सेट मे
-
C++ में लिंक्ड लिस्ट में दिए गए गुणनफल वाली जोड़ी जांचें
समस्या विवरण एक लिंक्ड लिस्ट और गुणनफल K दिया गया है। जांचें कि क्या लिस्ट में दो संख्याएं हैं जिनका गुणनफल K के बराबर है। उदाहरण: लिस्ट = {2, 4, 8, 12, 15}, K = 16 → जोड़ी (2, 8) हल: हैशिंग हैश टेबल में सभी तत्व डालें लिस्ट ट्रैवर्स करें, प्रत्येक तत्व के लिए जांचें कि K वर्तमान तत्व से विभाज्य
-
C++ में गेम थ्योरी में मिनिमैक्स एल्गोरिदम (अल्फा-बीटा प्रूनिंग)
विवरण अल्फा-बीटा प्रूनिंग मिनिमैक्स एल्गोरिदम में एक अनुकूलन तकनीक है। यह गेम ट्री की उन शाखाओं को काट देती है जिनका मूल्यांकन आवश्यक नहीं है क्योंकि बेहतर चाल पहले से मौजूद है। मुख्य अवधारणाएं Alpha: अधिकतमकर्ता (maximizer) खिलाड़ी जो सर्वोत्तम मान गारंटी कर सकता है Beta: न्यूनतमकर्ता (minimizer
-
C++ में N/2 जोड़ियों के वर्गों का योग न्यूनतम करें
समस्या विवरण n तत्वों की सरणी से n/2 जोड़ियां बनाएं जिससे जोड़ियों के योग के वर्गों का योग न्यूनतम हो। उदाहरण: arr = {5, 10, 7, 4} जोड़ियां: (4, 10) और (5, 7) योग: (14)² + (12)² = 196 + 144 = 340 एल्गोरिदम सरणी को क्रमबद्ध करें दो पॉइंटर्स: शुरुआत (start) और अंत (end) start और end के तत्वों की ज
-
C++ में वितरित टेडी की कुल संख्या न्यूनतम करें
समस्या विवरण N छात्रों के अंक दिए गए हैं। प्रत्येक को कम से कम 1 टेडी मिले। यदि दो छात्र साथ बैठे हैं तो अधिक अंक वाले को अधिक टेडी मिले। समान अंक वालों को अलग-अलग टेडी मिल सकते हैं। कुल टेडी न्यूनतम करें। उदाहरण: अंक = {2, 3, 3} → टेडी = {1, 2, 1} → कुल = 4 एल्गोरिदम (डायनामिक प्रोग्रामिंग) सभी
-
C++ में XOR ऑपरेशन द्वारा सरणी योग न्यूनतम करें
समस्या विवरण एक सरणी दी गई है, एक मान X ढूंढें जिससे प्रत्येक तत्व के साथ XOR करने के बाद सरणी का योग न्यूनतम हो। उदाहरण: arr = {8, 5, 7, 6, 9} यदि X = 5, तो XOR के बाद: 13, 0, 2, 3, 12 → योग = 30 (न्यूनतम) एल्गोरिदम 32-बिट बिटमैप बनाएं प्रत्येक तत्व के सेट बिट्स गिनें n/2 हैं, तो X में वह बिट
-
C++ में n लोगों की m टीमों में न्यूनतम और अधिकतम जोड़ियों की संख्या
समस्या विवरण N प्रतिभागियों को M टीमों में बांटा गया (प्रत्येक टीम में कम से कम 1)। एक ही टीम के सभी प्रतिभागी मित्र बन जाते हैं। न्यूनतम और अधिकतम मित्र जोड़ियों की संख्या ज्ञात करें। सूत्र अधिकतम जोड़ियां: एक टीम में अधिकतम लोग रखें maxPairs = (n - m + 1) * (n - m) / 2 न्यूनतम जोड़ियां: लोगों क
-
C++ में काउंटर इंक्रीमेंट के लिए परिशोधित विश्लेषण (Amortized Analysis)
परिशोधित विश्लेषण क्या है? ऑपरेशन के अनुक्रम के लिए औसत समय जटिलता, भले ही कुछ ऑपरेशन महंगे हों। यह औसत-मामला विश्लेषण नहीं है, बल्कि कई ऑपरेशनों पर वितरित सबसे खराब स्थिति है। बाइनरी काउंटर उदाहरण k-बिट बाइनरी काउंटर पर इंक्रीमेंट ऑपरेशन। अंतिम बिट से पहला 0 ढूंढें, उसे 1 बनाएं और बाद के सभी बिट्
-
C++ में इंसर्शन सॉर्ट समय जटिलता प्रश्न
इंसर्शन सॉर्ट की समय जटिलता सर्वोत्तम स्थिति: O(n) - जब सरणी पहले से क्रमबद्ध हो औसत/सबसे खराब स्थिति: O(n²) विशेष पैटर्न वाली सरणी के लिए समय जटिलता सरणी: 6, 5, 8, 7, 10, 9, ... i, i-1 यहां प्रत्येक जोड़ी स्वैप है। इंसर्शन सॉर्ट प्रत्येक जोड़ी को एक ऑपरेशन में ठीक कर देगा। इसलिए समय जटिलता O(n)
-
C++ में लिंक्ड लिस्ट को रिवर्स प्रिंट करने की रोचक विधि
समस्या विवरण लिंक्ड लिस्ट को रिवर्स क्रम में प्रिंट करें बिना लिस्ट को संशोधित किए और केवल एक बार ट्रैवर्स करके। रोचक दृष्टिकोण: कैरिज रिटर्न (\r) का उपयोग कैरिज रिटर्न कर्सर को लाइन की शुरुआत में ले जाता है। तर्क: पहले तत्व से पहले n-1 स्पेस छोड़ें दूसरे से पहले n-2 स्पेस छोड़ें इस तरह प्रत्येक
-
C++ में रोचक समय जटिलता प्रश्न
समय जटिलता विश्लेषण विधि 1 void counter(int n) { for (int i = 0; i < n; i++) { for (int j = 1; j < n; j += i) { cout << i << << j; } cout << endl; } } आंतरिक लूप n/i बार चलता है। कुल जटिलता: Σ(n/i) for i=1 to n = n × (1 + 1/2 +
-
C++ में सरणी तत्वों का असामान्य प्रतिनिधित्व
मानक तरीका सामान्यतः सरणी तत्व एक्सेस करने के लिए: array_name[index] असामान्य तरीका C++ में index[array_name] भी काम करता है! कारण arr[0] = *(arr + 0) 0[arr] = *(0 + arr) दोनों एक ही मेमोरी पता इंगित करते हैं क्योंकि पॉइंटर अंकगणित क्रमविनिमेय है। उदाहरण कोड #include <iostream> using names
-
C++ में विकर्ण लंबाई से वर्ग का क्षेत्रफल
समस्या विवरण वर्ग के विकर्ण की लंबाई दी गई है, वर्ग का क्षेत्रफल ज्ञात करें। सूत्र व्युत्पत्ति वर्ग की भुजा = a, विकर्ण = d पाइथागोरस प्रमेय से: d² = a² + a² = 2a² इसलिए a² = d²/2 वर्ग का क्षेत्रफल = a² = d²/2 उदाहरण कोड #include <iostream> #include <cmath> using namespace std; int m
-
C++ में समांतर चतुर्भुज के अंदर त्रिभुज का क्षेत्रफल
समस्या विवरण एक समांतर चतुर्भुज दिया गया है जिसका आधार और ऊंचाई ज्ञात है। इसमें एक त्रिभुज अंकित है जिसका आधार समांतर चतुर्भुज के समान है। त्रिभुज का क्षेत्रफल ज्ञात करें। सूत्र क्षेत्रफल = ½ × आधार × ऊंचाई area = 0.5 * b * h उदाहरण कोड #include <iostream> #include <cmath> using names
-
C++ में अंकगणितीय संख्या (Arithmetic Number)
अंकगणितीय संख्या क्या है? एक संख्या जिसके सभी धनात्मक भाजकों का औसत एक पूर्णांक हो। अर्थात, भाजकों का योग भाजकों की संख्या से विभाज्य हो। उदाहरण: n = 6 भाजक: 1, 2, 3, 6 योग = 12, भाजकों की संख्या = 4 12/4 = 3 (पूर्णांक) → अंकगणितीय संख्या है एल्गोरिदम भाजकों का योग निकालें भाजकों की संख्या गिन