Cuando no dicen lenguaje, puede aceptarse o entenderse que pseudocódigo es suficiente y que ya lo tarducirán al lenguaje que precisen...
Lo primeor que debes saber es que lo puedes atacar como número o como cadena de texto...
Aquí el pseudocodigo para el caso de tratarlo como número (como string es más sencillo, así que lo dejo a tu imaginación)
funcion ImprimriNumero( entero numero)
// no consideramos la posibilidad de que tenga decimales.
Si (numero esdistinto de 0)
imprimirUltimaCifra(numero, 0)
sino
imprimir "Posicion 1 es 0"
fin si
fin funcion
funcion ImprimirUltimaCifra(entero Valor, byte posicion)
byte cifra
Si (valor esdistintode 0)
cifra = (valor modulo 10)
valor = (valor /10) // ó ((valor - cifra) \10) , la barra '/' representa la division entera
posicion +=1 // si quieres imprimir como posición 0, la primera cifra, mueve esta línea detrás de la de imprimir
imprimir "posicion " + posicion.tostring + "es " + cifra.tostring
ImprimirUltimacifra(valor, posicion)
sino
Devolver // aquí llega cuando ya no quedan cifras a la derecha.
// puede omitirse, pero va bien si lo ejecutas paso a paso y así ves como se entra en esta parte una y otra vez cuando se alcanzó el final... hasta agotar la recursión guardada en la pila, que por fin retorna a la función que la llamó inicialmente.
fin si
fin funcion