मान लीजिए कि हमारे पास एक संख्या n है। हमें यह जांचना है कि क्या हम उस संख्या से एक वर्णमाला लोअरकेस स्ट्रिंग बना सकते हैं और जांच सकते हैं कि स्ट्रिंग पैलिंड्रोम है या नहीं। यहां हम केवल a से j तक के अक्षर [a =0, b =1... j =9] लेंगे। इसलिए यदि संख्या 42 है तो विकल्प "ईसी" 6 (4+2) वर्ण "ईसीसेक" तक मुद्रित होगा, फिर जांचें कि यह पैलिंड्रोम है या नहीं।
इसलिए, यदि इनपुट n =43 जैसा है, तो आउटपुट ट्रू होगा स्ट्रिंग "ededede" है और यह पैलिंड्रोम है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- अस्थायी:=रिक्त स्ट्रिंग
- s :=n स्ट्रिंग के रूप में
- अक्षर :=a से j तक के सभी वर्ण
- योग :=0
- सबस्ट्र:=खाली स्ट्रिंग
- i के लिए 0 से लेकर s-1 के आकार तक के लिए
- d :=s[i] अंकीय अंक के रूप में
- सबस्ट्र:=सबस्ट्रेट अक्षरों को जोड़ना[d]
- योग :=योग + घ
- अस्थायी का आकार <=योग, करते समय
- अस्थायी:=अस्थायी संयोजन पदार्थ
- अस्थायी:=अस्थायी[सूचकांक 0 से योग -1]
- अस्थायी रूप से पैलिंड्रोम होने पर सही लौटें, अन्यथा गलत
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def isPalindrome(s): return s == s[::-1] def solve(n): temp = "" s = str(n) letters = "abcdefghij" sum = 0 substr = "" for i in range(len(s)) : d = int(s[i]) substr += letters[d] sum += d while len(temp) <= sum: temp += substr temp = temp[:sum] return isPalindrome(temp) n = 43 print (solve(n))
इनपुट
43
आउटपुट
True