Вы уменьшаете переменную i
вне цикла while
, когда она должна быть внутри него.
while(i>1)
{
num=num*i;
}
i--;
Должно быть:
while(i>1)
{
num=num*i;
i--;
}
То, что говорит ваш текущий код, это while *i* is greater than 1 do your multiplication
. Проблема в том, что i всегда будет больше 1, так как вы никогда не вычитаете его.