Cod sursa(job #156370)

Utilizator ZozelZozo Zozo Zozel Data 12 martie 2008 15:00:55
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 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[200],aux;
fscanf(fin,"%d\n",&T);
for(j=0;j<T;j++){
 for(i=0;i<110;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;
}