que estoy tratando de contar el número de dígitos de un número en Clojure de la siguiente manera: recibo una StackOverflowError incluso para números de 2 dígitosStackOverflow mientras dígitos conteo
(defn num-digits [n]
(if (= 0 n)
0
(inc (num-digits (/ n 10)))))
(println (num-digits 93))
Pero si reemplazo/con marcada brecha continuación, funciona durante al menos 93. Pero ninguna de las técnicas trabaja para:
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
en primer lugar, me gustaría saber cómo llevar a cabo la división del estilo C en Clojure. Cuando lo hago (/ x y) obtengo un Ratio y no un Integer. ¿Cuál es la manera de hacerlo?
En segundo lugar, hay una forma de API para convertir este número en un vector de dígitos y conteo de llamadas en él.
Gracias,
Ajay G
No sé nada de Clojure, pero ¿no debería haber alguna forma de convertir el número en una cadena y luego obtener la longitud de la cuerda? Casi todos los otros idiomas en los que puedo pensar tiene tal función. – ewall
log10: https://stackoverflow.com/questions/27229987/can-i-know-how-many-digits-a-number-is-without-count-it – coredump