Sto cercando di contare il numero di cifre in un numero in Clojure come segue: ho uno StackOverflowError anche per 2 numeri di cifraStackOverflow mentre le cifre di conteggio
(defn num-digits [n]
(if (= 0 n)
0
(inc (num-digits (/ n 10)))))
(println (num-digits 93))
Ma se sostituisco/con incontrollato-divide poi funziona per almeno 93. Ma né delle tecniche lavora per:
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
in primo luogo, vorrei sapere come eseguire la divisione in stile C in Clojure. Ogni volta che faccio (/ x y) ottengo un rapporto e non un intero. Qual è il modo di farlo?
In secondo luogo, c'è un modo API per convertire questo numero in un vettore di cifre e contare su di esso.
Grazie,
Ajay G
Non so nulla di Clojure, ma non dovrebbe esserci un modo per convertire il numero in una stringa e quindi ottenere solo la lunghezza della stringa? Quasi ogni altra lingua che riesco a pensare ha una tale funzione. – ewall
log10: https://stackoverflow.com/questions/27229987/can-i-know-how-many-digits-a-number-is-without-count-it – coredump