Hola,
Fijate lo que esta haciendo tu codigo, en realidad está haciendo
5*4+4*3+3*2+2*1=20+12+6+2=40 <-- es lo que te esta dando
Si te fijas en cada paso del while (yo hubiera hecho un for de 1 a X) tienes los numeros necesarios para ir multiplicando y sacar el factorial, solo ve guardando el resultado en Factorial:
Solo recuerda inicializar Factorial en 1.
Saludos