मेरा 15 साल का छोटा भाई प्रोग्रामिंग शुरू कर रहा है, और उसने एक साफ-सुथरा छोटा कार्यक्रम लिखा जो अक्षरों और संख्याओं के सभी संयोजनों को आउटपुट करता है जो छह अंक या उससे कम हैं। उसका कोड लूप के लिए एक सेक्स्टुप-नेस्टेड था जो छः स्तर के चार सरणी के तत्वों को अद्यतन करता था। यह बुरा लग रहा था, लेकिन निश्चित रूप से तेज़ था! मैंने उसे दिखाया कि एक साधारण गिनती कैसे करें, और उन नंबरों को आधार 36 में परिवर्तित करें।मैं सी ++ में एक अलग संख्या बेस में कैसे गिन सकता हूं?
सबसे बड़ी समस्या यह है कि मेरे द्वारा किए गए विभाजन के कारण मेरा कोड इतना धीमा था। क्या कोई तरीका है कि मैं बस बेस 36 मान सकता हूं और 1 से 36^6 तक गिनती आउटपुट कर सकता हूं? , एक संचायक बनाने के लिए और शुरू पर्याप्त रूप से उच्च डिग्री से उदाहरण 36^6 के लिए:
आदर्श रूप में, मैं की तरह
[base 36]
for(int i = 0; i < 1000000; i++)
SaveForLaterFileOutput(i);
आप प्रस्तुति के साथ भ्रमित मूल्य हैं। शुद्ध गिनती एक अवधारणा नहीं है जिसे रेडिक्स दिया जा सकता है। एक रिफैक्टर संस्करण आपके भाई का समाधान दोनों के बेहतर हो सकता है! –
भाषा में कोई अंतर्निहित बेस 36 निर्माण नहीं है। हालांकि, आपको जो भी चाहिए वो करने के लिए आपको विभाजन की आवश्यकता नहीं है। – driis