В чем причина? Вывод для 150, верный, для 0 - "0", для числа меньше нуля "0! = 1"