Même si j'apprends JavaScript, j'ai trouvé cette solution pour Factoriels et j'aimerais obtenir des commentaires. Serait-ce efficace? Factoriels avec JavaScript
function factorialize(num) {
var total= [];
if(num!==0){
for(var i=1; i<=num; i++){
total.push(i);
}
var newTotal = total.reduce(function(a,b){
return a*b;
});
return newTotal;
}else {
return 1;
}
}
console.log(factorialize(6));
Cette autre manière que je trouvais en ligne facile à lire et à comprendre, je pense tout simplement ne peux pas de cette façon.
non récursive
var factorial = function(n) {
if(n == 0) {
return 1
} else {
product = 1;
for(i = 1; i <= n; i++) {
product *= i;
}
return product;
}
}
console.log(factorial(num));
récursive:
var factorial = function(n) {
if(n == 0) {
return 1
} else {
return n * factorial(n - 1);
}
}
console.log(factorial(num));
"J'aimerais avoir des commentaires" est trop vague pour ce site. Si vous avez une préoccupation particulière, dites-nous. Si ce n'est pas le cas, vous pouvez poser cette question sur le [Code Review site] (https://codereview.stackexchange.com/). –
La première méthode est intéressante; placez les nombres dans un tableau, puis utilisez la méthode array.reduce. Ça va être moins efficace que de simplement multiplier au fur et à mesure. Principalement à cause de tout l'accès au tableau que vous devez faire. La méthode récursive nécessite beaucoup d'appels de fonctions donc elle est moins efficace que la simple boucle. Toutes les méthodes sont utiles pour introduire des concepts de programmation, mais pas toujours les plus pratiques. –
Je pense aussi que je gaspille des ressources en utilisant un tableau au début. Je ne semble pas avoir une approche simple comme les solutions récursives ou non récursives. Bummer! – crg821