En c++ resolvi el de invertir de ésta manera:
			Código (cpp) [Seleccionar] 
#include <math.h>
int inv(int n){
	if(n <= 9) return n;
	else return inv(n/10) + inv(n%10)*pow(10, n%10-1);
}