Cod sursa(job #2081381)
Utilizator | Coman Andrei andreicoman299 | Data | 4 decembrie 2017 17:56:46 |
---|---|---|---|
Problema | Sortari2 | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <bits/stdc++.h>
#define MOD 999017
int main(){
FILE*fi,*fo;
fi = fopen("sortari2.in","r");
fo = fopen("sortari2.out","w");
int n;
fscanf(fi,"%d", &n);
long long f1, f2, f3;
if(n == 1 || n == 2)
f3 = 1;
else{
f1 = 1;
f2 = 1;
for(int i = 3; i <= 2 * n - 1; i++){
f3 = (f1 + f2) % MOD;
f1 = f2;
f2 = f3;
}
}
long long fact = 1;
while(n > 0){
fact = (fact * n) % MOD;
n--;
}
fprintf(fo,"%lld", fact - f3);
fclose(fi);
fclose(fo);
return 0;
}