Pagini recente » Borderou de evaluare (job #2351274) | Borderou de evaluare (job #278572) | Borderou de evaluare (job #1957959) | Borderou de evaluare (job #2947316) | Cod sursa (job #66248)
Cod sursa(job #66248)
#include <stdio.h>
#include <string.h>
#define MOD 1048576
int main()
{
int n, i;
int t[] = {0, 1, 2, 6, 12, 0};
int size = 5*sizeof(int);
freopen("12perm.in", "r", stdin);
freopen("12perm.out", "w", stdout);
scanf("%d\n", &n);
for(i = 5; i <= n; ++i)
{
t[5] = t[4] + t[3] + 2*(i-1);
memmove(t, t+1, size);
if(t[4] >= MOD)
t[4] %= MOD;
if(t[3] >= MOD)
t[3] %= MOD;
}
if(n > 4)
printf("%d\n", t[4]%MOD);
else
printf("%d\n", t[n]);
fclose(stdin);
fclose(stdout);
return 0;
}