Cod sursa(job #32906)

Utilizator kyrkDragos Dumitrescu kyrk Data 18 martie 2007 18:10:29
Problema 12-Perm Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
main()
{
long n,a,b,c,d,k,x,valid,div=1048576;
freopen("12perm.in","r",stdin);
freopen("12perm.out","w",stdout);
fscanf(stdin,"%ld",&n);
if(n==1) { x=1;
	   fprintf(stdout,"%ld",x); }
if(n==2) { x=2;
	   fprintf(stdout,"%ld",x); }
if(n==3) { x=6;
	   fprintf(stdout,"%ld",x); }
if(n==4) { x=12;
	   fprintf(stdout,"%ld",x); }
if(n>4)
{ a=2;b=6;c=12;
  k=5;
  valid=0;
  do{
     d=2*(k-2);d+=a;d+=c;
     d%=div;
     if(n==k)valid=1;
     else {a=b;b=c;c=d;}
     k++;
     }while(valid==0);
  if(valid==1)fprintf(stdout,"%ld",d);
}


fclose(stdin);
fclose(stdout);
return 0;
}