Ở đây chúng ta sẽ thấy một vấn đề đơn giản. Chúng ta phải tìm tất cả các số có bản chất là palindrome trong một danh sách nhất định. Cách tiếp cận rất đơn giản, lấy từng số từ danh sách và kiểm tra xem nó có phải là palindrome hay không và in số đó ra.
Thuật toán
getAllPalindrome (arr, n)
Begin for each element e in arr, do if e is palindrome, then print e end if done End
Ví dụ
#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); }
Đầu ra
All palindromes: 121 111 858