Повернутися

long FactDouble(int n)
{
    if (n < 0) return -1;
    if (n == 0 || n == 1) return 1;
    long result = 1;
    int step = 2;
    int start = (n % 2 == 0) ? 2 : 1;
    
    for (int i = start; i <= n; i += step)
    {
        result *= i;
    }
    return result;
}