Функция, определяет факториал числа(Яндекс.Практикум)

Задание: Написать программу, которая с определяет факториал числа(через функцию). Если число отрицательное, функция выводит 1.

Я написал это:

#include<iostream>

using namespace std;

int arg;
int F = 1;
int Factorial(int x) {
    
    if(x<0)
        return 1;
    if(x>0)
    {
        for(int i = 1; i<= x; i++)
            F = F*i;
        
    }
    return F;
}

int main() {
    cin>>arg;
    cout<<Factorial(arg)<<endl;
    return 0;
}

При выполнении всё работает правильно, но при проверке Яндекс пишет мне: Задача прошла 2/3 проверок

Возможные проблемы:

  • Ваша функция неправильно вычисляет факториал положительнго числа

Я делаю что - то неправильно?


Ответы (1 шт):

Автор решения: МС Чемодан
#include<iostream>

using namespace std;

int arg;

int Factorial(int x) {
    int F = 1;
    if(x<=0)
        return 1;
    if(x>0)
    {
        for(int i = 1; i<= x; i++)
            F = F*i;
        
    }
    return F;
}

int main() {
    cin>>arg;
    cout<<Factorial(arg)<<endl;
    return 0;
}
→ Ссылка