Sirak Ghroyan, ну смотри, тут всего 3 коротких строчки:
1 - объявление функции,
2 - условный оператор,
3 - выражение, использующее рекурсивный вызов. В этом месте вы вычисляете новый аргумент для Factorial и вызываете Factorial с этим аргументом. Не с тем, который был раньше, а с другим, на единицу меньше.