Pagini recente » Cod sursa (job #2456684) | Cod sursa (job #1941540) | Cod sursa (job #992959) | Cod sursa (job #1220249) | Cod sursa (job #203643)
Cod sursa(job #203643)
#include <stdio.h>
const int p=1048575;
int n,a[4],now,prev1,prev3,i;
int main(){
freopen("12perm.in","r",stdin);
freopen("12perm.out","w",stdout);
scanf("%d",&n);
a[0]=1;
a[1]=2;
a[2]=6;
a[3]=12;
if (n<=4) {printf("%d\n",a[n-1]);return 0;}
for (i=4;i<n;++i){
now=i&3;
prev1=(now+3)&3;
prev3=(now+1)&3;
a[now]=(a[prev1]+a[prev3]+((i-1)<<1))&p;
}
printf("%d",a[now]);
return 0;
}