Pagini recente » Cod sursa (job #1006412) | Cod sursa (job #3170680) | Cod sursa (job #1851363) | Cod sursa (job #2753818) | Cod sursa (job #328488)
Cod sursa(job #328488)
#include<stdio.h>
#define modulo 1048575
int a[3];
int m,i,n,x;
int main()
{
freopen("12perm.in","r",stdin);
freopen("12perm.out","w",stdout);
scanf("%ld",&n);
a[0]=1; a[1]=2; a[2]=6; a[3]=12;
m=n-2;
for (i=3; i<=m; i++)
{
x=(i+2) & 3;
if (x==1) a[0]=(a[3]+a[1]+i+i) & modulo;
if (x==2) a[1]=(a[0]+a[2]+i+i) & modulo;
if (x==3) a[2]=(a[1]+a[3]+i+i) & modulo;
if (x==0) a[3]=(a[2]+a[0]+i+i) & modulo;
}
if (n<=4)
printf("%ld\n",a[n]);
else
printf("%ld\n",a[(n+3) & 3]);
fclose(stdin); fclose(stdout);
return 0;
}