Pagini recente » Cod sursa (job #2760813) | Cod sursa (job #333502) | Cod sursa (job #357820) | Cod sursa (job #969806) | Cod sursa (job #702619)
Cod sursa(job #702619)
#include <stdio.h>
#include <cstring>
void precompute(int *u){
int i = 1, j, mod4, term, term_i;
u[1] = 1;
for(i = 2; i < 100; ++i){
mod4 = i % 4;
if(mod4 == 0){
mod4 = 4;
}
term = term_i = i % 10;
for (j = 2; j <= mod4; ++j){
term = (term * term_i) % 10;
}
u[i] = (u[i-1] + term) % 10;
}
}
int main(){
freopen("cifra.in", "r", stdin);
freopen("cifra.out", "w", stdout);
int t, i, c1, c2, len, u[102];
char s[102];
/* first, precompute the values for the first 1 - 99 elements */
precompute(u);
scanf("%d", &t);
for(i = 0; i < t; ++i) {
scanf("%s", s);
len = strlen(s);
if(len == 1){
c1 = 0;
c2 = s[len-1] - '0';
}
else{
c1 = s[len-2] - '0';
c2 = s[len-1] - '0';
}
printf("%d\n", u[c1 * 10 + c2]);
}
fclose(stdin);
fclose(stdout);
return 0;
}