Hi Daniel,
Habe mir gerade nochmal deine Lösung oben angesehen, und ich muss sagen, die ist wirklich gut. Sogar die Basis kann man frei wählen, wow! An Eleganz im Quellcode stellt *meine* sie aber in den Schatten :)
Du musst gleich 2 while-Schleifen bemühen, "teure" Divisionen, Modulo-Operationen und Math.floor- Berechnungen durchführen, alles mit 32Bit-Floatingpoint intern, naja...
Man sollte unsere beiden Lösungen mal gegeneinander antreten lassen, nur um zu sehen, wie groß dein vermeintlicher Tempo-Vorteil wirklich ist.
Wenn du auf höchste Effizienz abzielst, ist JavaScript eh nicht die richtige Sprache für dich. Dann solltest du dich lieber mit Assembler beschäftigen :).
Gruß, Don P