এখানে পাইথনের বিভিন্ন বিল্ট-ইন ফাংশন ব্যবহার করা হয়েছে। প্রথমে bin() দিয়ে সংখ্যাকে বাইনারি রূপান্তর করুন, তারপর বাইনারি স্ট্রিংকে উল্টিয়ে মূল স্ট্রিংয়ের সাথে তুলনা করুন। মিললে প্যালিনড্রোম, অন্যথায় নয়।
উদাহরণ
ইনপুট: 5 আউটপুট: প্যালিনড্রোম
ব্যাখ্যা
৫ এর বাইনারি রিপ্রেজেন্টেশন হলো ১০১
উল্টালে ১০১, মূল স্ট্রিংয়ের সাথে মিলে যাচ্ছে।
সুতরাং এটি প্যালিনড্রোম।
অ্যালগরিদম
Palindromenumber(n) /* n হলো সংখ্যা */ ধাপ ১: 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 একটি প্যালিনড্রোম নম্বর