Logic Building
def reverse_number(n, rev=0):
# Base case
if n == 0:
return rev
# Recursive case
last_digit = n % 10
rev = rev * 10 + last_digit
return reverse_number(n // 10, rev)
# Test
num = int(input("Enter a number: "))
result = reverse_number(abs(num))
if num < 0:
result = -result
print(f"Reversed: {result}")Output
Enter a number: 12345 Reversed: 54321
Build reversed number using accumulator.
Key Concepts:
- Use accumulator parameter
- Extract last digit and add to reversed
- Recurse with remaining digits
- Base case returns accumulated reversed