Cod sursa(job #905576)

Utilizator rughibemBelcineanu Alexandru Ioan rughibem Data 5 martie 2013 22:20:13
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<stdio.h>
#include<string.h>
FILE *f=fopen("cifra.in","r"), *g=fopen("cifra.out","w");

long int i, T, par[13], imp[13], u, ult, pen, l;
char s[105];

void init(){
    par[0]=0; par[1]=1; par[2]=5; par[3]=2; par[4]=8; par[5]=3; par[6]=9; par[7]=2; par[8]=8; par[9]=7;
    imp[0]=0; imp[1]=1; imp[2]=7; imp[3]=0; imp[4]=6; imp[5]=1; imp[6]=7; imp[7]=4; imp[8]=8; imp[9]=7;
}

void citire(){
    fscanf(f,"%s",s);
    l=strlen(s)-1; if(s[l]=='\n'){s[l]='\0';l--;}
}

int main(){

    fscanf(f,"%ld",&T);
    init();
    for(i=1;i<=T;i++){

        citire();
        ult=s[l]-'0';
        pen=s[l-1]-'0';

        if(l==0){u=par[ult];}
        else{
            u= ( 7*pen )%10;
            if(pen%2==0){u+=par[ult];}
            else{u+=imp[ult];}
        }
        fprintf(g,"%ld\n",u%10);

    }

return 0;
}