Pagini recente » Cod sursa (job #2441709) | Cod sursa (job #84915) | Cod sursa (job #151597) | Cod sursa (job #1616725) | Cod sursa (job #74785)
Cod sursa(job #74785)
#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);
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;
}