import Foundation
func isPalindrome(_ num: Int, reversed: Int = 0, original: Int? = nil) -> Bool {
// Initialize the original on the first call
let originalNum = original ?? num
// Base case: If the number is reduced to 0, check if the reversed matches the original
if num == 0 {
return reversed == originalNum
}
// Recursive case: Extract the last digit, update reversed, and call recursively
let remainder = num % 10
return isPalindrome(num / 10, reversed: reversed * 10 + remainder, original: originalNum)
}
let number = 12321
if isPalindrome(number) {
print("\(number) is a palindrome.")
} else {
print("\(number) is not a palindrome.")
}
/*
run:
12321 is a palindrome.
*/