ใช้ฟังก์ชัน built-in ของ Python แตกต่างกัน แปลงตัวเลขเป็นไบนารีด้วย bin() แล้วกลับสตริงไบนารีและเปรียบเทียบกับต้นฉบับ ถ้าตรงกันเป็นพาลินโดรม ไม่ใช่则ไม่
ตัวอย่าง
Input: 5 Output: palindrome
คำอธิบาย
ไบนารีของ 5 คือ 101
กลับแล้วได้ 101 เปรียบเทียบตรงกับต้นฉบับ
จึงเป็นพาลินโดรม
อัลกอริทึม
Palindromenumber(n) /* n คือตัวเลข */ ขั้นตอนที่ 1: รับ n ขั้นตอนที่ 2: แปลง n เป็นรูปไบนารี ขั้นตอนที่ 3: ข้ามสองตัวอักษรแรกของสตริง ขั้นตอนที่ 4: กลับสตริงไบนารีและเปรียบเทียบกับต้นฉบับ ขั้นตอนที่ 5: ถ้าตรงกับต้นฉบับพิมพ์ Palindrome ไม่อย่างนั้นพิมพ์ not a palindrome
โค้ดตัวอย่าง
# ตรวจสอบว่าไบนารีของตัวเลขเป็นพาลินโดรมหรือไม่
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 เป็นเลขพาลินโดรม