Computer >> Máy Tính >  >> Lập trình >> lập trình C

Tất cả các số palindrome trong một danh sách?

Ở đâ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