Pagini recente » Cod sursa (job #2288758) | Cod sursa (job #921178) | Cod sursa (job #2345367) | Cod sursa (job #1084241) | Cod sursa (job #2960873)
#include <stdio.h>
#include <string.h>
#include <stdlib.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;
}
}
}
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[105];
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';
}
memset(N, 0, sizeof(N));
for(int i = 1; i <= n; i++) {
ans = (ans + g(i)) % 10;
}
printf("%d\n", ans);
}
return 0;
}