forse ci sono,grazie alla tua spiegazione e a mezz'ora fissando il codice forse ci sono arrivato.correggimi cortesemente se sbaglio:

se inserisco il numero 266 all'interno del while il primo digit prende valore 6 e quando incontra digit_count[digit]++ diventa digit_count[digit6]+1 e così via...

....complicato.....