Cod sursa(job #157803)

Utilizator ZozelZozo Zozo Zozel Data 13 martie 2008 11:52:45
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(){
FILE *fin=fopen("cifra.in","r");
FILE *fout=fopen("cifra.out","w");

int T,i,twostate,threestate,ucif,pucif;
char number[101];
fscanf(fin,"%d\n",&T);

for(i=0;i<T;i++){
    fscanf(fin,"%s",number);
     ucif=atoi(&number[strlen(number)-1]);
     pucif=atoi(&number[strlen(number)-2])/10;
     twostate=pucif*10+2;
     threestate=twostate+1;
     pucif*=7;pucif%=10;
     threestate=(threestate%4==1)?3:7;
     twostate=(twostate%4==0)?6:4;

  switch(ucif){
  case 1:pucif++;break;
  case 2:pucif+=twostate+1;break;
  case 3:pucif+=twostate+threestate+1;break;
  case 4:pucif+=twostate+threestate+7;break;
  case 5:pucif+=twostate+threestate+2;break;
  case 6:pucif+=twostate+threestate+8;break;
  case 7:pucif+=twostate+8;break;
  case 8:pucif+=8;break;
  case 9:pucif+=7;break;
  }
fprintf(fout,"%d\n",pucif%10);
}
   fclose(fin);
   fclose(fout);
return 0;
}