समस्या विवरण
यहां हम विभिन्न पायथन इनबिल्ट फंक्शन का उपयोग करते हैं। सबसे पहले हम bin() का उपयोग करके संख्या को उसके बाइनरी रूप में बदलते हैं, फिर बाइनरी स्ट्रिंग को उल्टा करते हैं और मूल से तुलना करते हैं। यदि मेल खाता है तो पैलिंड्रोम अन्यथा नहीं।
उदाहरण
इनपुट: 5
आउटपुट: पैलिंड्रोम
व्याख्या
5 का बाइनरी प्रतिनिधित्व 101 है।
इसे उल्टा करें और परिणाम 101 है, फिर तुलना करें और यह मूल से मेल खाता है।
इसलिए यह पैलिंड्रोम है।
एल्गोरिदम
- n इनपुट करें।
- n को बाइनरी रूप में बदलें।
- स्ट्रिंग के पहले दो वर्ण छोड़ें।
- बाइनरी स्ट्रिंग को उल्टा करें और मूल से तुलना करें।
- यदि यह मूल से मेल खाता है तो पैलिंड्रोम प्रिंट करें, अन्यथा नहीं।
उदाहरण कोड
# जांचें कि संख्या का बाइनरी प्रतिनिधित्व पैलिंड्रोम है या नहीं
def palindromenumber(n):
# संख्या को बाइनरी में बदलें
bn_number = bin(n)
# स्ट्रिंग के पहले दो वर्ण छोड़ें
# क्योंकि bin फंक्शन बाइनरी में '0b' प्रीफिक्स जोड़ता है
bn_number = bn_number[2:]
# अब बाइनरी स्ट्रिंग को उल्टा करें और मूल से तुलना करें
if (bn_number == bn_number[-1::-1]):
print(n, "एक पैलिंड्रोम संख्या है")
else:
print(n, "पैलिंड्रोम संख्या नहीं है")
# ड्राइवर प्रोग्राम
if __name__ == "__main__":
n = int(input("संख्या दर्ज करें ::>"))
palindromenumber(n)
आउटपुट
संख्या दर्ज करें ::>10
10 पैलिंड्रोम संख्या नहीं है
संख्या दर्ज करें ::>9
9 एक पैलिंड्रोम संख्या है