fun isPalindrome(num: Int, reversed: Int = 0, original: Int = num): Boolean {
// Base case: If the number is reduced to 0, check if reversed matches original
if (num == 0) {
return reversed == original
}
// Recursive case: Extract the last digit, update reversed, and call recursively
val remainder = num % 10
return isPalindrome(num / 10, reversed * 10 + remainder, original)
}
fun main() {
val number = 12321
if (isPalindrome(number)) {
println("$number is a palindrome.")
} else {
println("$number is not a palindrome.")
}
}
/*
run:
12321 is a palindrome.
*/