Pagini recente » Cod sursa (job #2135143) | Cod sursa (job #1239532) | Cod sursa (job #1736113) | Cod sursa (job #3281907) | Cod sursa (job #1747956)
#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, k;
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=0;i<100;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++){
unsigned char nr[101];
fscanf(fin,"%s",nr);
short int lnr=strlen(nr);
unsigned 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{
//}
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;
}