Advertisement
desislava_shunina

pals

Jan 27th, 2024
733
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | Source Code | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int reverseNum(int num)
  5. {
  6.     int res = 0;
  7.     while (num)
  8.     {
  9.         res *= 10;
  10.         res += num % 10;
  11.         num /= 10;
  12.     }
  13.  
  14.     return res;
  15. }
  16.  
  17. int removeTheFirstDigit(int num)
  18. {
  19.     int reversed = reverseNum(num);
  20.     reversed /= 10;
  21.     reversed = reverseNum(reversed);
  22.  
  23.     return reversed;
  24. }
  25.  
  26. bool isPalindrome(int num)
  27. {
  28.     return num == reverseNum(num);
  29. }
  30.  
  31. bool couldBePalindrome(int num)
  32. {
  33.     if (num < 10)
  34.         return false;
  35.  
  36.     if (isPalindrome(num))
  37.         return true;
  38.  
  39.     return (couldBePalindrome(removeTheFirstDigit(num)) || couldBePalindrome(num / 10));
  40. }
  41.  
  42. int main()
  43. {
  44.     cout << couldBePalindrome(1234355) << endl;
  45.     cout << couldBePalindrome(1234) << endl;
  46.     return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement