Pagini recente » Cod sursa (job #319133) | Cod sursa (job #1582256) | Cod sursa (job #2633837) | Cod sursa (job #1662929) | Cod sursa (job #854437)
Cod sursa(job #854437)
#include<cstdio>
using namespace std;
const int M=(1<<20)-1;
int n,i,A,B,C,D,E;
int main()
{
freopen("12perm.in","r",stdin);
freopen("12perm.out","w",stdout);
scanf("%d",&n);
A=1; B=2; C=6; D=12;
if(n==1) {printf("%d\n",A);return 0;}
if(n==2) {printf("%d\n",B);return 0;}
if(n==3) {printf("%d\n",C);return 0;}
if(n==4) {printf("%d\n",D);return 0;}
for(i=5;i<=n;i++)
{
E=(D+B+2*(i-2))&M;
//x % (2^k) = x & (2^k-1)
A=B; B=C; C=D; D=E;
}
printf("%d\n",E);
return 0;
}