Pagini recente » Cod sursa (job #1409027) | Cod sursa (job #2892195) | Cod sursa (job #1648822) | Cod sursa (job #2296849) | Cod sursa (job #178821)
Cod sursa(job #178821)
#include<stdio.h>
#define INPUT "12perm.in"
#define OUTPUT "12perm.out"
#define MODULO 1048576
FILE *fin = fopen(INPUT, "r"), *fout = fopen(OUTPUT, "w");
long N;
void readValues()
{
fscanf(fin, "%ld", &N);
}
void solveFunction()
{
long A, B, C, poz, T, D;
A = 1;
B = 2;
C = 6;
D = 12;
poz = 4;
switch(N)
{
case 1: fprintf(fout, "%ld\n", A); break;
case 2: fprintf(fout, "%ld\n", B); break;
case 3: fprintf(fout, "%ld\n", C); break;
case 4: fprintf(fout, "%ld\n", D); break;
}
A = 0;
for(long i = 4; i < N; ++i)
{
A = 1;
T = (D + B + 2 * ( poz - 1)) & (MODULO - 1);
B = C;
C = D;
D = T;
++poz;
}
if(A)
fprintf(fout, "%ld\n", T);
}
int main()
{
readValues();
solveFunction();
fclose(fin);
fclose(fout);
return 0;
}