Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ตรวจสอบเลข Palindrome ใน PL/SQL

การตรวจสอบตัวเลข Palindrome ด้วย PL/SQL

ตัวเลข Palindrome คือตัวเลขที่อ่านจากหน้าหลังหรือหลังหน้าได้เหมือนกัน (เช่น 12321) ใน PL/SQL เราสามารถกลับตัวเลขแล้วเปรียบเทียบกับต้นฉบับ

ตัวอย่างโค้ด 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);
        temp := (temp * 10) + rem;
        n := TRUNC(n / 10);
    END LOOP;
    IF m = temp THEN
        DBMS_OUTPUT.PUT_LINE('Palindrome');
    ELSE
        DBMS_OUTPUT.PUT_LINE('Not Palindrome');
    END IF;
END;

ผลลัพธ์

Palindrome

คำอธิบาย

  • MOD(n, 10) : หาตัวเลขหลักสุดท้าย (เศษจากการหาร 10)
  • temp := temp * 10 + rem : สร้างตัวเลขกลับทีละหลัก
  • TRUNC(n / 10) : ตัดหลักสุดท้ายออก (หาร 10 แล้วปัดทิ้งเศษ)
  • วนลูปจนกว่า n จะเหลือ 0
  • เปรียบเทียบตัวเลขต้นฉบับ (m) กับตัวเลขที่กลับแล้ว (temp)
  • โค้ดนี้รันใน Oracle PL/SQL ไม่ใช่ MySQL