Vous cherchez à calculer la série suivante en JavaScript: Plus précisément, le code sera utilisé pour valider le RHS. Il s'agit d'explorer le comportement de la série avec un nombre croissant de termes ...

0
Cybernetic 17 mars 2021 à 06:01

1 réponse

Meilleure réponse

Je ne suis pas tout à fait sûr, mais est-ce que cela pourrait être votre solution?:

function getRoots(number) {
    if (number === 1) return Math.sqrt(1);
    return Math.sqrt(1 + getRoots(number - 1));
}

let result = getRoots(1000);
console.log(result);

Ici, la récursivité est utilisée pour obtenir votre résultat. La fonction s'appelle tant que les 1000 fois ne sont pas exécutées.

Voici une version mise à jour avec JS moderne (const au lieu de var pour déclarer le tableau) et utilisant des one-liners pour mettre à jour le tableau et renvoyer la valeur:

const results = [];

const getRoots = number => {
    if (number === 1) return results[results.push(Math.sqrt(1)) - 1];
    return results[results.push(Math.sqrt(1 + getRoots(number - 1))) - 1];
};

getRoots(1000);

for (let res of results)
    console.log(res);

Pour info: Array.prototype.push () renvoie la nouvelle longueur du tableau, nous utilisons donc cette valeur pour renvoyer le calcul repoussé.

1
Slevin 17 mars 2021 à 04:13