Buenas, chicos.. este es un problema simple, pero acá yo el carlitox del foro de linux, es nuevo y bueno

uno de los problemas de mi libro de C++ es...
Voltear un numero como ... 123456 ( que sean enteros positivos) y dejarlo así 654321
Parece simple de entrada, pero además pide un par de cosas más .. necesitamos hacerlo de una manera mas cañera usando funciones recrusivas para hacer el trabajo.
He pensado 2 formas, tomarlo como cstring, o bien .. con alguna formúla conseguir volteando calculando.
Ideas comentarios y sugerencias : )