เราจะเห็นปัญหาง่ายๆ ประการหนึ่ง เราต้องหาตัวเลขทั้งหมดที่มีลักษณะเป็นพาลินโดรมในรายการที่กำหนด วิธีการนั้นง่าย นำแต่ละหมายเลขจากรายการและตรวจสอบว่าเป็น palindrome หรือไม่ แล้วพิมพ์หมายเลข
อัลกอริทึม
getAllPalindrome(arr, n)
Begin for each element e in arr, do if e is palindrome, then print e end if done End
ตัวอย่าง
#include <iostream> #include <cmath> using namespace std; bool isPalindrome(int n){ int reverse = 0, t; t = n; while (t != 0){ reverse = reverse * 10; reverse = reverse + t%10; t = t/10; } return (n == reverse); } int getAllPalindrome(int arr[], int n) { for(int i = 0; i<n; i++){ if(isPalindrome(arr[i])){ cout << arr[i] << " "; } } } int main() { int arr[] = {25, 145, 85, 121, 632, 111, 858, 45}; int n = sizeof(arr) / sizeof(arr[0]); cout << "All palindromes: "; getAllPalindrome(arr, n); }
ผลลัพธ์
All palindromes: 121 111 858