Pagini recente » Cod sursa (job #2444020) | Cod sursa (job #1704604) | Cod sursa (job #320617) | Cod sursa (job #299036) | Cod sursa (job #2960871)
#include <stdio.h>
#include <string.h>
int g_table[10][4];
void precalc_g_table() {
for(int i = 0; i < 10; i++) {
g_table[i][0] = i;
for(int j = 1; j < 4; j++) {
g_table[i][j] = (g_table[i][j-1] * i) % 10;
}
}
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 4; j++) {
printf("%d ", g_table[i][j]);
}
printf("\n");
}
}
int g(int x) {
return g_table[x%10][(x - 1)%4];
}
int max(int a, int b) {
if(a > b)
return a;
return b;
}
int main() {
freopen("cifra.in", "r", stdin);
freopen("cifra.out", "w", stdout);
int T;
precalc_g_table();
scanf("%d", &T);
while(T--) {
char N[1024];
int n = 0, ans = 0;
scanf("%s", N);
int len_N = strlen(N);
for(int i = max(0, len_N - 2); i < len_N; i++) {
n = n * 10 + N[i] - '0';
}
for(int i = 0; i < len_N; i++) {
N[i] = '\0';
}
for(int i = 1; i <= n; i++) {
ans = (ans + g(i)) % 10;
}
printf("%d\n", ans);
}
return 0;
}