Arf c'est pas beau les boucles pour rien. Voici la version récursive terminale :
Pour tester : http://jsfiddle.net/64uqz/1/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function algo_rec(a, b, res) { if (a === 1) return b + res; var tmp = ~~ (a / 2); if (a % 2 === 1) res += b; return algo_rec(tmp, b * 2, res); }
Partager