Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Kiểm tra số Palindrome trong PL/SQL

Trong PL/SQL (Oracle), bạn có thể kiểm tra một số có phải Palindrome (đối xứng) không bằng cách đảo ngược số và so sánh với gốc.

Ý tưởng

Số Palindrome: Đọc từ trái sang phải và phải sang trái giống nhau. VD: 12321, 4554, 7.

Ví dụ PL/SQL

DECLARE 
    n number; 
    m number; 
    temp number := 0; 
    rem number; 
BEGIN 
    n := 12321; 
    m := n; 
    while n > 0 
    loop 
        rem := mod(n, 10);        -- Lấy chữ số cuối
        temp := (temp * 10) + rem; -- Xây số đảo ngược
        n := trunc(n / 10);        -- Bỏ chữ số cuối
    end loop; 
    if m = temp 
    then 
        dbms_output.put_line('Palindrome'); 
    else 
        dbms_output.put_line('Not Palindrome'); 
    end if; 
END;

Kết quả

Palindrome

Giải thích thuật toán:

  • Lưu số gốc vào m
  • Vòng lặp WHILE n > 0:
    • rem := MOD(n, 10): Lấy chữ số hàng đơn vị
    • temp := temp * 10 + rem: Dịch trái temp và thêm chữ số mới
    • n := TRUNC(n / 10): Bỏ chữ số hàng đơn vị (chia nguyên 10)
  • So sánh m (gốc) với temp (đảo ngược)

Ví dụ trace 12321: n=12321→rem=1,temp=1,n=1232 → rem=2,temp=12,n=123 → rem=3,temp=123,n=12 → rem=2,temp=1232,n=1 → rem=1,temp=12321,n=0. Dừng. m=12321 = temp=12321 → Palindrome.

Lưu ý: Code PL/SQL chỉ chạy trên Oracle Database, không phải MySQL.