Cod sursa(job #1747966)

Utilizator radu9876Radu Sirghe radu9876 Data 25 august 2016 21:03:01
Problema Cifra Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    int t,bla;
    FILE *fin, *fout;
    fin=fopen("cifra.in","r");
    fout=fopen("cifra.out","w");
    int uc[10][4], i, j;
    for(i=0;i<10;i++)
        for(j=0;j<4;j++)
            uc[i][j]=(j==0?i:i*uc[i][j-1])%10;
    int k10=0;
    for(i=700;i<900;i++)
        k10=(k10+uc[(i+1)%10][i%4])%10;
    //fprintf(fout, "k10=%d\n", k10);
    fscanf(fin,"%d",&t);
    for(bla=0;bla<t;bla++){
        char nr[101];
        fscanf(fin,"%s",nr);
        short int lnr=strlen(nr);
        char u1=nr[lnr-1]-'0',u2=(lnr>1?(nr[lnr-2]-'0'):0),s,k;
        s=(7*u2)%10;
        if(u2%2==0){
            for(k=0;k<u1;k++){
                s=s+uc[k+1][k%4];
            }
        }else{
            for(k=0;k<u1;k++){
                s=s+uc[k+1][(k+2)%4];
            }
        }
        s=s%10;
        fprintf(fout,"%d\n",(int)s);
    }
    //for(i=0;i<10;i++)for(j=0;j<4;j++)fprintf(fout,"%d%c",uc[i][j], j==3?'\n':' ');
    return 0;
}