Daniel Thoma: Quersumme + Rekursion = undefined

Beitrag lesen

Hallo toaste,

Zahlen mit String-Operationen zu bearbeiten ist recht unelegant. Theoretisch ist es auch langsamer (schließlich muss die Zahl erst in einen String gewandelt und der gesplittet werden), bei Scriptsprachen weiß man das natürlich nie so genau und wenn man das nur ein paar mal aufruft, merkt man es sowieso nicht.
Außerdem macht Rekursion das in dem Fall wirklich eher umständlicher.
Ich würde es also so versuchen (b ist die Basis zu der die Quersumme gebildet wird):

  
function quersumme(x, b) {  
  var sum = 0;  
  while (x >= b) {  
    while (x > 0) {  
      sum += x % b;  
      x = Math.floor(x / b);  
    }  
    x = sum;  
  }  
  return sum;  
}  

Grüße

Daniel