Cod sursa(job #327257)

Utilizator ZethpixZethpix Zethpix Data 27 iunie 2009 19:47:18
Problema Cifra Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <stdio.h>
FILE *f,*g;
int v[101],a[10][4],n,i,t;
int x,y,z;
char d;
int main(){
 a[0][0]=0;a[0][1]=0;a[0][2]=0;a[0][3]=0;
 a[1][0]=1;a[1][1]=1;a[1][2]=1;a[1][3]=1;
 a[2][0]=6;a[2][1]=2;a[2][2]=4;a[2][3]=8;
 a[3][0]=1;a[3][1]=3;a[3][2]=9;a[3][3]=7;
 a[4][0]=6;a[4][1]=4;a[4][2]=6;a[4][3]=4;
 a[5][0]=5;a[5][1]=5;a[5][2]=5;a[5][3]=5;
 a[6][0]=6;a[6][1]=6;a[6][2]=6;a[6][3]=6;
 a[7][0]=1;a[7][1]=7;a[7][2]=9;a[7][3]=3;
 a[8][0]=6;a[8][1]=8;a[8][2]=4;a[8][3]=2;
 a[9][0]=1;a[9][1]=9;a[9][2]=1;a[9][3]=9;
 int x=0;
 int s=0;
 for (i=1;i<=100;i++){
  x=i%100;
  s+=a[x%10][x%4];
  s%=10;
  v[i]=s;
 }
 f=fopen("cifra.in","r");
 g=fopen("cifra.out","w");
 fscanf(f,"%d\n",&t);
 for (i=1;i<=t;i++){
  d='#0';
  x=0;
  y=0;
  z=0;
  while (!feof(f)&&d!='\n'){
   fscanf(f,"%c",&d);
   x=y;
   y=z;
   z=d-48;
  }
  n=x*10+y;
  fprintf(g,"%d\n",v[n]);
 }
 fclose(f);
 fclose(g);
 return 0;
}