Primera idea (lo que quiere decir que se me acaba de ocurrir y debe ser ineficiente...)
La idea es ir dividiendo el cociente y conservando el resto, luego tomar los restos en orden inverso.
La reconstrucción puede ser con join o sumando cada dígito * una potencia adecuada de 10
%
Código Python:
Ver originaldef dec_a_oct(n):
resultado = []
while n:
resultado.append(str(n%8))
n = int(n/8)
resultado.reverse()
return int(''.join(resultado))