<?php
// Exemplo de fatorial: n! = n*(n-1)*(n-2)*...*1
// 4! = 4 * (4-1) * (4-2) * (4-3) = 24
// 4! = 4 * 3 * 2 * 1 = 24
do {
echo "Digite um número natural: ";
// Naturais são inteiros não-negativos: 0, 1, 2, 3, ...,1000.
$n = (int) trim(fgets(STDIN));
} while($n < 0);
// Negativos não são aceitos ($n < 0), então o fgets continua até um número válido ser fornecido
// Quando o $n é 4, sai do do-while e prossegue com o cálculo
$n_fatorial = 1;
// Declaração da variável que vai acumular o fatorial: n! = n*(n-1)*...*(1)
// $n_fatorial começa em 1, pois qualquer número multiplicado por 1 não altera seu valor
for ($i = 1; $i <= $n; $i++) {
// "$i = 1" inicializa a variável $i com 1
// $i é o contador, $n é o número fornecido, $i++ incrementa $i após cada iteração
$n_fatorial *= $i; // Multiplica o valor de $n_fatorial pelo valor atual de $i em cada iteração
// Exemplo de execução para $n = 4:
// -- 1° loop -- $n_fatorial = 1 * 1 = 1
// -- 2° loop -- $n_fatorial = 1 * 2 = 2
// -- 3° loop -- $n_fatorial = 2 * 3 = 6
// -- 4° loop -- $n_fatorial = 6 * 4 = 24
// Como $i = 5, a condição ($i <= $n) é falsa e o loop termina
}
echo "\nO fatorial do número {$n} é: {$n_fatorial}.";
?>
To embed this project on your website, copy the following code and paste it into your website's HTML: