Ở đây ta dùng các hàm built-in Python. Đầu tiên dùng bin() chuyển số sang nhị phân, sau đó đảo chuỗi nhị phân và so sánh với gốc, nếu khớp thì palindrome ngược lại không.
Ví dụ
Input: 5 Output: palindrome
Giải thích
Biểu diễn nhị phân của 5 là 101
Đảo ngược kết quả là 101, so sánh khớp với gốc.
Vậy là palindrome
Thuật toán
Palindromenumber(n) /* n là số */ Bước 1: Nhập n. Bước 2: Chuyển n sang nhị phân. Bước 3: Bỏ qua hai ký tự đầu của chuỗi. Bước 4: Đảo chuỗi nhị phân và so sánh với gốc. Bước 5: Nếu khớp thì in Palindrome, ngược lại không phải.
Mã ví dụ
# Kiểm tra biểu diễn nhị phân của số có phải palindrome không def palindromenumber(n): # Chuyển số sang nhị phân bn_number = bin(n) # Bỏ qua hai ký tự đầu của chuỗi # Vì hàm bin thêm '0b' làm tiền tố trong biểu diễn nhị phân bn_number = bn_number[2:] # Đảo chuỗi nhị phân và so sánh với gốc if(bn_number == bn_number[-1::-1]): print(n, "LÀ SỐ PALINDROME") else: print(n, "KHÔNG PHẢI SỐ PALINDROME") # Chương trình chính if __name__ == "__main__": n=int(input("Nhập Số ::>")) palindromenumber(n) Kết quả
Nhập Số ::>10 10 KHÔNG PHẢI SỐ PALINDROME Nhập Số ::>9 9 LÀ SỐ PALINDROME