मान लीजिए कि हमारे पास एक मान n है। हमें चार अलग-अलग कॉलम में दशमलव, अष्टाधारी, हेक्साडेसिमल और पहले n संख्याओं (1 से n) के बाइनरी समकक्ष को प्रिंट करना होगा। जैसा कि हम जानते हैं, हम दशमलव, ऑक्टल, हेक्साडेसिमल और दशमलव के लिए क्रमशः d, o, X और b उपसर्ग वर्णों के साथ संख्याओं को व्यक्त कर सकते हैं।
इसलिए, यदि इनपुट n =10 जैसा है, तो आउटपुट होगा
1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 10 8 1000 9 11 9 1001 10 12 A 1010
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- l :=(n के बाइनरी समकक्ष की लंबाई) - 2
- 1 से n की श्रेणी में i के लिए, करें
- f :=रिक्त स्ट्रिंग
- "doXb" में प्रत्येक वर्ण c के लिए, करें
- अगर f खाली नहीं है, तो
- f :=f एक रिक्त स्थान को संयोजित करें
- f :=f + दाएं संरेखित स्वरूपण स्ट्रिंग l को स्ट्रिंग के रूप में परिवर्तित करके c को संयोजित करें
- अगर f खाली नहीं है, तो
- स्वरूपित स्ट्रिंग f में i चार बार पास करें और लाइन प्रिंट करें
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
def solve(n): l = len(bin(n)) - 2 for i in range(1, n + 1): f = "" for c in "doXb": if f: f += " " f += "{:>" + str(l) + c + "}" print(f.format(i, i, i, i)) n = 10 solve(n)
इनपुट
10
आउटपुट
1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 10 8 1000 9 11 9 1001 10 12 A 1010