Oi gente,
Não estou conseguindo acertar o laço while para calcular fatoriais.
Estou fazendo assim:
int a = x - 1;
while ( a > 0 )
{
fatorial = x * a;
a = a - 1;
O problema é que o resultado dado é sempre o último do produto x * a,
ou seja, qndo o a = 1.
Por exemplo, se eu peço fatorial de 3 ele me responde o próprio 3.
Eu não consigo acertar uma forma p/ o while calcular, no exemplo, 3 * 2 *1
Como posso fazer isso?
Oi, Tuany.
Veja que no seu código, você está passando para a variável fatorial um valor que não depende das iterações anteriores. Assim, na última iteração, ocorre "fatorial = x * 1;" e por isso o resultado sai desse jeito.
O correto seria algo do tipo "fatorial = fatorial * a;".
Entendeu?
Veja que no seu código, você está passando para a variável fatorial um valor que não depende das iterações anteriores. Assim, na última iteração, ocorre "fatorial = x * 1;" e por isso o resultado sai desse jeito.
O correto seria algo do tipo "fatorial = fatorial * a;".
Entendeu?
Oi Arthur,
agora deu certo. Obrigada!
agora deu certo. Obrigada!