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

โปรแกรม C++ ตรวจสอบเลขพาลินโดรม (Palindrome Number)


Palindrome Number = เลขที่อ่านจากหน้าหลังหรือหลังหน้าได้เหมือนกัน (สymmetric) ตัวอย่าง: 12321, 1551, 11

ตัวอย่างโค้ด

#include <iostream>
using namespace std;

void palindrome(int num) {
    int rev = 0, val;
    val = num;
    while(num > 0) {
        rev = rev * 10 + num % 10;
        num = num / 10;
    }
    if(val == rev)
        cout << val << " is a palindrome" << endl;
    else
        cout << val << " is not a palindrome" << endl;
}

int main() {
    palindrome(12321);
    palindrome(1234);
    return 0;
}

ผลลัพธ์

12321 is a palindrome
1234 is not a palindrome

อธิบายการทำงาน

palindrome() สร้างเลขกลับ (rev):

int rev = 0, val;
val = num;
while(num > 0) {
    rev = rev * 10 + num % 10;
    num = num / 10;
}
  • val เก็บค่าเดิม (เพราะ num จะกลายเป็น 0)
  • while loop: rev = rev×10 + หลักสุดท้ายของ num, num /= 10
  • เช็ค val == rev → เป็น palindrome
if(val == rev)
    cout << val << " is a palindrome";
else
    cout << val << " is not a palindrome";