Articles

JavaScript Algoritmo: Power

Posted on

Hoje vamos escrever uma função chamada numberToPower que aceitará dois inteiros, number e power, como entradas.

Como o nome da função sugere, o nosso objectivo é calcular e devolver um número elevado a n-ésima potência. A nth ou o expoente sendo power . Mas há um senão, resolveremos isto sem a ajuda de quaisquer funções matemáticas incorporadas. Podemos usar tanto o loop como o for-loop para resolver isto. Vejamos primeiro o for-loop.

A Solução For-Loop

Quando pegamos num número e o elevamos à n-ésima potência, multiplicamos o número por si n vezes.

Como multiplicamos um número por si só? Deixando o total variável igual a 1, esta variável irá ajudar-nos a multiplicar number por si só. Multiplicamos number * 1 um certo número de vezes (potência) e multiplicamos o resultado para total cada vez.

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

Até ao fim do laço, devolvemos o total.

The While Loop Solution

The while-loop solution faz a mesma coisa com a excepção de que terminamos o laço quando decrescemos power até 0 após cada laço.

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

Embora seja provavelmente melhor usar as funções matemáticas incorporadas para devolver a potência de um número, especialmente se o expoente for uma fracção, o objectivo da função é não depender de funções incorporadas. Poderá encontrar-se a aprender outra linguagem de programação que poderá não ter todas as funções incorporadas que o JavaScript tem. Terá de contornar o problema, resolvendo-o manualmente.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *