여기서 우리는 하나의 간단한 문제를 볼 것입니다. 주어진 목록에서 본질적으로 회문인 모든 숫자를 찾아야 합니다. 접근 방식은 간단합니다. 목록에서 각 숫자를 가져와 회문인지 확인하고 숫자를 인쇄하십시오.
알고리즘
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