Je suis bloqué sur un problème qui me nécessite d'afficher le fonctionnement complet d'une fonction factorielle, par exemple si l'utilisateur souhaitait s'entraîner 6!, je devrais afficher: 6 * 5 * 4 * 3 * 2 * 1 = 720. Devrais-je utiliser un tableau pour telle?
C'est ce que j'ai jusqu'à présent afin d'entraîner la valeur factorisée de tout numéro donné par l'utilisateur, bien que cela ne génère que la valeur finale et non Développé de travail comme je l'ai montré ci-dessus: p>
(le numéro de variable contient l'entrée de l'utilisateur); p> Toute aide sur ceci serait appréciée! < / p> p>
3 Réponses :
Utiliser p> mappe code> et
joindre code> Méthodes.
const factorString = num => {
const nums = new Array(num).fill(0).map((_, i) => num - i);
let res = 1;
nums.forEach(x => res *= x);
return `${nums.join(' * ')} = ${res}`;
}
console.log(factorString(6))
Une option est, sur chaque itération, appuyez sur une matrice qui est transmise à travers l'appel récursif (ou créé sur l'appel initial). À la fin, renvoyez le tableau, rejoint par p> * code>, ainsi que la somme du tableau:
<div id="factorialTest"></div>
Vous pouvez modifier la signature de retour de la fonction et vous attendre à un tableau d'une matrice avec les facteurs et le produit.
p>
function factorize(number) { if (number === 0 || number === 1) return [[1], 1]; var [factors, product] = factorize(number - 1); return [[...factors, number], product * number]; } console.log(factorize(5));
Avez-vous besoin de conserver
factorizfunction code> tel quel?