Cod sursa(job #10270)

Utilizator alex23alexandru andronache alex23 Data 28 ianuarie 2007 00:59:13
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.31 kb
#include <stdlib.h>
#include <stdio.h>


int main(void) {
 int n,x,p,s,i,k,j,y,q;
 FILE *in,*out;
 in=fopen("cifra.in", "r");
 out=fopen("cifra.out", "w");

 fscanf(in,"%d",&n);


  for (k=1;k<=n;k++)
    { fscanf(in,"%d",&x);
      if (x>=10) s=((x/10)*7)%10;
	   else  s=0;
       y=x%10;



	 for (i=1;i<=y;i++)
	    {/* p=1;
	      for (j=1;j<=(x/10)*10+i;j++)
		 { p=p*i;
		   if (p>9) p=p%10;
		 }*/
	    if (i==1) p=1;
	    if (i==2) {q=((x/10)*10+i)%4;
			  if (q==1) p=2;
			  if (q==2) p=4;
			  if (q==3) p=8;
			  if (q==0) p=6;
		       }
	    if (i==3) {q=((x/10)*10+i)%4;
			  if (q==1) p=3;
			  if (q==2) p=9;
			  if (q==3) p=7;
			  if (q==0) p=1;
		       }
	    if (i==4) {q=((x/10)*10+i)%2;
			  if (q==1) p=4;
			  if (q==0) p=6;
		       }
	    if (i==5) p=5;
	    if (i==6) p=6;
	    if (i==7) {q=((x/10)*10+i)%4;
			  if (q==1) p=7;
			  if (q==2) p=9;
			  if (q==3) p=3;
			  if (q==0) p=1;
		       }
	    if (i==8) {q=((x/10)*10+i)%4;
			  if (q==1) p=8;
			  if (q==2) p=4;
			  if (q==3) p=2;
			  if (q==0) p=6;
		       }
	    if (i==9) {q=((x/10)*10+i)%2;
			  if (q==1) p=9;
			  if (q==0) p=1;
		       }
	      s+=p;
	      if (s>9) s=s%10;
	     }



      fprintf(out,"%d\n",s);
     }



 fclose(in);
 fclose(out);
 return 0;
}