Cod sursa(job #632022)

Utilizator sebii_cSebastian Claici sebii_c Data 10 noiembrie 2011 02:25:20
Problema 12-Perm Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>

int main()
{
    freopen("12perm.in", "r", stdin);
    freopen("12perm.out", "w", stdout);
    int n, a, b, c, x, i;
    a = 2, b = 6, c = 12;
    scanf("%d", &n);
    
    if (n == 1) {
	printf("1\n");
	return 0;
    }
    else if (n == 2) {
	printf("%d\n", a);
	return 0;
    }
    else if (n == 3) {
	printf("%d\n", b);
	return 0;
    }
    else if (n == 4) {
	printf("%d\n", c);
	return 0;
    }

    int mod = (1<<19);
    for (i=5; i<=n; ++i) {
	x = c;
	c = (c + a + 2*(i-2)) & mod;
	a = b & mod;
	b = x & mod;
    }
    printf("%d\n", c);
    return 0;
}