Gostou do nosso conteúdo? Te ajudou?
Nos ajude também! Faça um PIX, de qualquer valor:
programacao.progressiva@gmail.com

Potenciação em PHP: Calculando um número elevado a outro com laços

Neste tutorial, vamos te ensinar como fazer a potenciação (calcular a potência de um número elevado a outro), em PHP, primeiramente sem usar nenhuma função interna do PHP.


Curso de PHP com certificado
Obter meu certificado!

Calcular potência de um número

Você deve lembrar das aulas básicas de Matemática, quando aprendemos a potenciação.
Ela é definida por três números:
  • base
  • expoente
  • potência (resultado)


Exemplo:

Potenciação em PHP

Por exemplo:
5⁴ = 5 x 5 x 5 x 5
(leia: 5 vezes o 4, por isso repetimos o 4 cinco vezes)

a^b = a x a x a ... x a (o a se repete b vezes).

Calcular potência usando laços

Vamos calcular a potência de um número inteiro elevado a outro inteiro, usando apenas laços.

Para isso, note que uma potenciação nada mais é que multiplicar um número por ele, várias vezes.
Por exemplo, em a^b

Multiplicamos a por a por a por a...um total de b vezes.

O script que pede uma base e um expoente ao usuário e exibe o resultado, usando laços WHILE, DO WHILE e FOR também:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action="" method="get">
  Base: <input type="number" name="base" /><br />
  Expoent: <input type="number" name="expoente" /><br />
  <input type="submit" name="submit" value="Calcular" />
 </form> 
 <?php 
  $base=$_GET['base'];
  $exp=$_GET['expoente'];
  
  // WHILE
  $resultado = 1;
  $count=1;
  
  while($count<=$exp){
   $resultado *= $base;
   $count++;
  }
  echo "Resultado com WHILE: $resultado<br />";
  
  // DO WHILE
  $resultado = 1;
  $count=1;
  
  do{
   $resultado *= $base;
   $count++;
  }while($count<=$exp);
  
  echo "Resultado com DO WHILE: $resultado<br />";
  
  // FOR
  for($resultado=1, $count=1 ; $count<=$exp ; $count++)
   $resultado *= $base;
  
  echo "Resultado com FOR: $resultado<br />";
 ?>
 </body>
</html>

Potenciação no PHP

Calcular um inteiro elevado a outro inteiro, já vimos como fazer.
Mas e se for quebrado?
1,2^2,1 ?

Para isso existe a função nativa pow():
$resultado = pow($base, $expoente)

Veja mais detalhes e exemplos em:
http://php.net/manual/pt_BR/function.pow.php