Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int reverseNum(int num)
- {
- int res = 0;
- while (num)
- {
- res *= 10;
- res += num % 10;
- num /= 10;
- }
- return res;
- }
- int removeTheFirstDigit(int num)
- {
- int reversed = reverseNum(num);
- reversed /= 10;
- reversed = reverseNum(reversed);
- return reversed;
- }
- bool isPalindrome(int num)
- {
- return num == reverseNum(num);
- }
- bool couldBePalindrome(int num)
- {
- if (num < 10)
- return false;
- if (isPalindrome(num))
- return true;
- return (couldBePalindrome(removeTheFirstDigit(num)) || couldBePalindrome(num / 10));
- }
- int main()
- {
- cout << couldBePalindrome(1234355) << endl;
- cout << couldBePalindrome(1234) << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement