Articles

JavaScript Algorithme : Puissance

Posted on

Aujourd’hui, nous allons écrire une fonction appelée numberToPower qui acceptera deux entiers, number et power, comme entrées.

Comme le nom de la fonction le suggère, notre objectif est de calculer et de retourner un nombre élevé à la nième puissance. Le nième ou l’exposant étant power . Il y a cependant un hic, nous allons résoudre ce problème sans l’aide de fonctions mathématiques intégrées. Nous pouvons utiliser à la fois la boucle while et la boucle for pour résoudre ce problème. Regardons d’abord la boucle for.

La solution de la boucle for

Lorsque nous prenons un nombre et que nous l’élevons à la nième puissance, nous multiplions le nombre par lui-même n fois.

Comment multiplions-nous un nombre par lui-même ? En laissant la variable total égale à 1, cette variable va nous aider à multiplier number par lui-même. On multiplie number * 1 un certain nombre de fois (puissance) et en multipliant le résultat à total à chaque fois.

function numberToPower(number, power){
let total = 1;
for (let i = 1; i <= power; i++) {
total = total * number;
}
return total;
}

À la fin de la boucle, on retourne le total.

La solution de la boucle while

La solution de la boucle while fait la même chose à l’exception que nous terminons la boucle lorsque nous décrémentons power jusqu’à 0 après chaque boucle.

function numberToPower(number, power){
let total = 1;
while(power > 0){
total *= number;
power--;
}
return total;
}

Bien qu’il soit probablement préférable d’utiliser les fonctions mathématiques intégrées pour retourner la puissance d’un nombre, surtout si l’exposant est une fraction, le but de la fonction est de ne pas dépendre des fonctions intégrées. Vous pouvez vous retrouver à apprendre un autre langage de programmation qui ne dispose pas de toutes les fonctions intégrées de JavaScript. Vous devrez vous débrouiller pour les contourner en résolvant le problème manuellement.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *