Cod sursa(job #96098)

Utilizator marinMari n marin Data 31 octombrie 2007 13:32:32
Problema Cifra Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <stdio.h>
typedef unsigned int longplus;

int a[10][5] ={{0,0,0,0,0},
	       {1,1,1,1,1},
	       {6,2,4,8,6},
	       {1,3,9,7,1},
	       {6,4,6,4,6},
	       {5,5,5,5,5},
	       {6,6,6,6,6},
	       {1,7,9,3,1},
	       {6,8,4,2,6},
	       {1,9,1,9,1}};


FILE *f = fopen("cifra.in","r");
FILE *g = fopen("cifra.out","w");

int sum,j;
int rezolva(int n){
  sum=0;
  for (j=1;j<=n;j++){
    sum+=a[j%10][j%4];
    sum%=10;
  }
  return sum;
}

/*longplus rezolva1(longplus n){
  longplus i,sum,set;
  sum=0;
  set=0;
  for (i=1;i<=10;i++)
    set=set+a[i%10][i%4];
  set=set%10;


  return sum;
} */


int citeste(){
   char c,d,e;
   d=e='0';
   do {
     c=d;
     d=e;
//     f>>e;
     e = fgetc(f);
   } while ((e!='\n')&&(!feof(f)));

   return (c-48)*10+(d-48);
}



int main(){
  longplus x,t;



//  ofstream g("cifra.out");

  fscanf(f,"%d",&t);
  char xx=fgetc(f);
  for (int i=1;i<=t;i++){
//    f>>x;
    x = citeste();

    sum=0;
    for (j=1;j<=x;j++){
      sum+=a[j%10][j%4];
      sum%=10;
    }


    fprintf(g,"%d\n",sum);
//    g<<rezolva(x)<<"\n";
 }
  fclose(f);
//  g.close();
  fclose(g);


  return 0;
}