Cod sursa(job #1375398)

Utilizator OctaDuiu Octavian Octa Data 5 martie 2015 13:09:53
Problema 12-Perm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<cstdio>
#define M (1<<20)-1
using namespace std;

int n,v[]={1,2,6,12};

int solve(int x)
{
    int rez,i;
    if(x<=4)
        return v[x-1];

    for(i=5; i<=x; i++)
    {
        rez=(v[3]+v[1]+2*(i-2))&M;
        v[1]=v[2];
        v[2]=v[3];
        v[3]=rez;
    }

  return v[3];
}

int main ()
{
    freopen("12perm.in","r",stdin); freopen("12perm.out","w",stdout);

    scanf("%d",&n);

    printf("%d\n",solve(n));

    return 0;
}