Cod sursa(job #498532)

Utilizator dushmiMihai-Alexandru Dusmanu dushmi Data 5 noiembrie 2010 13:59:15
Problema 12-Perm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<cstdio>
#include<cstdlib>
void verif(int x)
{
    if(x==1)
    {
        printf("1\n");
        exit(0);
    }
    if(x==2)
    {
        printf("2\n");
        exit(0);
    }
    if(x==3)
    {
        printf("6\n");
        exit(0);
    }
    if(x==4)
    {
        printf("12\n");
        exit(0);
    }
}
void init(int &a,int &b,int &c)
{
    a=2;
    b=6;
    c=12;
}
void solve(int x)
{
    int a,b,c;
    init(a,b,c);
    for(int i=5;i<=x;i++)
    {
        int aux=(a+c+2*(i-2))&((1<<20)-1);
        a=b;
        b=c;
        c=aux;
    }
    printf("%d\n",c);
}
int main()
{
    freopen("12perm.in","r",stdin);
    freopen("12perm.out","w",stdout);
    int n;
    scanf("%d",&n);
    verif(n);
    solve(n);
    return 0;
}