Pagini recente » Cod sursa (job #1909958) | Cod sursa (job #1534161) | Cod sursa (job #1701935) | Cod sursa (job #1303220) | Cod sursa (job #74769)
Cod sursa(job #74769)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{FILE *fin,*fout;
int v[20],b[20][10],t,i,j,s,k,q,x;
char nr[200],nr2[10];
v[0]=0;
v[1]=1;
v[2]=4;
v[3]=4;
v[4]=2;
v[5]=1;
v[6]=1;
v[7]=4;
v[8]=4;
v[9]=2;
b[0][0]=0;
b[1][0]=1;
b[2][0]=6;
b[2][1]=2;
b[2][2]=4;
b[2][3]=8;
b[3][0]=1;
b[3][1]=3;
b[3][2]=9;
b[3][3]=7;
b[4][0]=6;
b[4][1]=4;
b[5][0]=5;
b[6][0]=6;
b[7][0]=1;
b[7][1]=7;
b[7][2]=9;
b[7][3]=3;
b[8][0]=6;
b[8][1]=8;
b[8][2]=4;
b[8][3]=2;
b[9][0]=1;
b[9][1]=9;
fin=fopen("cifra.in","r");
fout=fopen("cifra.out","w");
fscanf(fin,"%d",&t);
for (i=1;i<=t;i++)
{fscanf(fin,"%s",&nr);
//printf("%d",strlen(nr));
x=strlen(nr);
//if (x>2) {nr2[0]=nr[strlen(nr)-3];
// nr2[1]=nr[strlen(nr)-2];
//// nr2[2]=nr[strlen(nr)-1];
// }
//else
if (x>1) {nr2[0]=nr[strlen(nr)-2];
nr2[1]=nr[strlen(nr)-1];
}
else nr2[0]=nr[strlen(nr)-1];
k=atoi(nr2);
s=8*(k/40);
if (s>9) s=s%10;
k=k%40;
for (j=1;j<=k;j++)
{if (j>9) q=j%10;
else q=j;
if (q!=0) s=s+b[q][j%v[q]];
if (s>9) s=s%10;
}
fprintf(fout,"%d",s);
fprintf(fout,"\n");
}
fclose(fin);
fclose(fout);
return 0;
}