Pagini recente » Cod sursa (job #1567763) | Cod sursa (job #7600) | Cod sursa (job #2130217) | Cod sursa (job #2571283) | Cod sursa (job #74911)
Cod sursa(job #74911)
#include <stdio.h>
#include <stdlib.h>
#include <ctype.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);
x=strlen(nr);
while (!isdigit(nr[x]))
if (!isdigit(nr[x])) x--;
x++;
/*if (x>3) {nr2[0]=nr[x-4];
nr2[1]=nr[x-3];
nr2[2]=nr[x-2];
nr2[3]=nr[x-1];
}
else */
if (x>2) {nr2[0]=nr[x-3];
nr2[1]=nr[x-2];
nr2[2]=nr[x-1];
}
else
if (x>1) {nr2[0]=nr[x-2];
nr2[1]=nr[x-1];
}
else nr2[0]=nr[x-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");
nr2[0]=' ';
nr2[1]=' ';
nr2[2]=' ';
}
fclose(fin);
fclose(fout);
return 0;
}