Pagini recente » Diferente pentru utilizator/tudorbuhnia intre reviziile 45 si 59 | Cod sursa (job #1706784) | Monitorul de evaluare | Istoria paginii utilizator/tzig | Cod sursa (job #2014367)
#include <bits/stdc++.h>
const int MOD = (int) 1048576;
int main() {
FILE *fi, *fout;
int n, a, b, c;
fi = fopen("12perm.in" ,"r");
fout = fopen("12perm.out" ,"w");
fscanf(fi,"%d " ,&n);
if(n == 1)
fprintf(fout,"1");
else if(n == 2)
fprintf(fout,"2");
else if(n == 3)
fprintf(fout,"6");
else if(n == 4)
fprintf(fout,"12");
else {
a = 2;
b = 6;
c = 12;
for(int i = 5; i <= n; i++) {
int aux = ((c + a + 2 * (i - 2)) & (MOD - 1));
a = b;
b = c;
c = aux;
}
fprintf(fout,"%d" ,c);
}
fclose(fi);
fclose(fout);
return 0;
}