donp: Rekursion vs. Iteration, Mathematische vs. Listen-Operationen

Beitrag lesen

Hallo Tim,

Da hast du dir ja richtig Mühe gemacht, Respekt!
Solche Quersumen hab ich auch mal berechnet, deshalb interessiert mich das.

Persönlich finde ich – Performance hin oder her – die elganteste Lösung immer die beste. Es sei denn, man hat einen wichtigen Grund, unbedingt auf Tempo zu optimieren.

Die eleganteste Lösung scheint mir hier die Rekursion mit Umwandlung in Strings, aber bitte nicht zu umständlich. Es genügt eigentlich ein Zweizeiler (qs=Quersumme, n=Number, a=array):

function qs(n,a) {

while ( ( a||[] )[0] ) {

n += parseInt( a.pop() );
 }
 return (n < 10) ? n : qs( 0, n.toString().split('') );
}

Wenn das nicht elegant ist...

Don P