Cod sursa(job #1048303)

Utilizator lukasiincacevaionescu luca andrei lukasiincaceva Data 5 decembrie 2013 18:46:22
Problema Sortari2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>

#define MOD 999017

int N, Res;

int getFib(int x)
{
    if (x <= 2)
        return 1;
    int f1 = 1, f2 = 1, f3;
    for (int i = 3; i <= x; ++i)
    {
        f3 = f1 + f2;
        if (f3 >= MOD) f3 -= MOD;
        f1 = f2; f2 = f3;
    }
    return f2;
}

int main()
{
    freopen("sortari2.in", "r", stdin);
    freopen("sortari2.out", "w", stdout);

    scanf("%d", &N);
    Res = 1;
    for (int i = 2; i <= N; ++i)
        Res = (Res * i) % MOD;
    Res -= getFib(2*N-1);
    if (Res < 0) Res += MOD;

    printf("%d\n", Res);

    return 0;
}