Cod sursa(job #544080)
Utilizator | Serban Andrei Stan savim | Data | 28 februarie 2011 23:51:43 |
---|---|---|---|
Problema | Sortari2 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.4 kb |
#include <stdio.h>
#define prim 999017
int n, sum, val, fact;
int main() {
freopen("sortari2.in", "r", stdin);
freopen("sortari2.out", "w", stdout);
scanf("%d", &n);
val = fact = sum = 1;
for (int i = 2; i <= n; i++) {
fact = (1LL * fact * i) % prim;
val = (sum + val) % prim;
sum = (sum + val) % prim;
}
val = ((fact - val) % prim + prim) % prim;
printf("%d\n", val);
return 0;
}