Pagini recente » Cod sursa (job #1640516) | Cod sursa (job #2964124) | Cod sursa (job #994805) | Cod sursa (job #1682334) | Cod sursa (job #542439)
Cod sursa(job #542439)
#include <iostream>
#include <stdio.h>
using namespace std;
const int mod = 999017;
int N, actual, p, fact, vechi;
int main()
{
freopen ("sortari2.in","r",stdin);
freopen ("sortari2.out","w",stdout);
scanf("%d",&N);
actual = 1;
vechi = -1;
p = 1 << 1;
fact = 1;
int i;
for(i = 2; i <= N; i++)
{
fact *= i;
actual = p + vechi;
fact %= mod;
actual %= mod;
vechi = actual;
p = p << 1;
p %= mod;
}
fact -= actual;
while(fact < 0)
fact += mod;
printf("%d\n",fact);
return 0;
}