Cod sursa(job #156372)

Utilizator ZozelZozo Zozo Zozel Data 12 martie 2008 15:02:57
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<stdio.h>
#include<stdlib.h>

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

int u,add,twostate,T,i,j;
char number[500],aux;

fscanf(fin,"%d\n",&T);

for(j=0;j<T;j++){
 for(i=0;i<200;i++) number[i]='z';
 i=0;
while(!feof(fin)){
  aux=fgetc(fin);
  if(aux>47 && aux<58)
  number[i]=aux;
  else break;
  i++;
 }
u=atoi(&number[i-2]);
twostate=u/10*10+2;
u/=10;u*=7;u%=10;
add=atoi(&number[i-1]);
twostate=(twostate%4==0)?6:4;
switch(add){
 case 1:u++;break;
 case 2:u+=twostate+1;break;
 case 3:u+=twostate+8;break;
 case 4:u+=twostate+4;break;
 case 5:u+=twostate+9;break;
 case 6:u+=twostate+5;break;
 case 7:u+=twostate+8;break;
 case 8:u+=8;break;
 case 9:u+=7;break;
}
fprintf(fout,"%d\n",u%10);
}
fclose(fin);
fclose(fout);
return 0;
}