Estamos falando em algoritmos, certo? Como já vimos, sabemos que não existe apenas uma maneira de se resolver um problema. Para mostrai isso, apresento a seguir uma segunda versão do algoritmo para o fatorial.
A primeira parte é exatamente igual, garantindo que seja digitado um valor maior que 0. A segunda parte possui algumas diferenças.
A primeira diferença é que, como o fatorial de 1 é 1, não há necessidade de nenhuma multiplicação. Então testamos se x é igual a 1. Se for, imprimimos 1 e finalizamos o algoritmo.
Caso x seja maior que 1, fat recebe x e x é decrementado em uma unidade. A partir daí iniciamos as multiplicações até que x chegue em 1.
O último passo é imprimir o resultado que estará na variável fat.