Pagini recente » Cod sursa (job #1005224) | Cod sursa (job #1710737) | Cod sursa (job #2038658) | Cod sursa (job #904484) | Cod sursa (job #1546008)
#include<stdio.h>
#include <string.h>
int M[11][10], v[11];
void faTabel() {
M[0][0] = 0;
M[1][0] = 1;
M[2][0] = 6; M[2][1] = 2; M[2][2] = 4; M[2][3] = 8;
M[3][0] = 1; M[3][1] = 3; M[3][2] = 9; M[3][3] = 7;
M[4][0] = 6; M[4][1] = 4;
M[5][0] = 5;
M[6][0] = 6;
M[7][0] = 1; M[7][1] = 7; M[7][2] = 9; M[7][3] = 3;
M[8][0] = 6; M[8][1] = 8; M[8][2] = 4; M[8][3] = 2;
M[9][0] = 1; M[9][1] = 9;
v[0] = 1;
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;
}
int suma ( int a )
{
int i;
int S = 0;
for ( i = 1 ; i <= a; i++)
{
S += M[i % 10][i % v[i % 10]];
}
return S;
}
int main ()
{
int n ,i ,t, k[101] ;
char N[101];
faTabel();
freopen( "cifra.in", "r" , stdin);
freopen ( "cifra.out" , "w", stdout);
scanf("%d\n", &t);
for ( i = 1 ; i <= 100 ; i++)
{
n = i;
k[i % 100] = suma(n) % 10;
}
int r = 0;
for (i = 1; i <= t; i++) {
gets(N);
int lungime = strlen(N);
if (lungime < 2) {
r = (int)(N[lungime - 1] - '0');
} else {
r = (int)(N[lungime - 2] - '0') * 10 + (int)(N[lungime - 1] - '0');
}
printf("%d\n", k[r]);
}
return 0 ;
}