Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Istoria paginii runda/oji_2012_10_sim | Cod sursa (job #1777585) | Cod sursa (job #2022397)
#include <stdio.h>
#include <stdlib.h>
int last_digit_n_power_n(int n) {
int i, x;
x = 1;
for(i = 1; i <= n; i++) {
x = x * n % 10;
}
return x;
}
void first_99_numbers(int vector[]) {
int i;
vector[0] = 0;
for(i = 1; i <= 99; i++) {
vector[i] = (vector[i-1] + last_digit_n_power_n(i)) % 10;
}
}
int main()
{
FILE *in = fopen("cifra.in", "r");
FILE *out = fopen("cifra.out", "w");
int t, i, last_2_digits;
char n[255];
int vector[100];
first_99_numbers(vector);
fscanf(in, "%d", &t);
fscanf(in, "%c" , &n[0]);
for(i = 1; i <= t; i++) {
fscanf(in, "%s", n);
last_2_digits = n[strlen(n) - 1] - '0';
if(strlen(n) > 1) {
last_2_digits = last_2_digits + (n[strlen(n) - 2] - '0') *10;
}
fprintf(out, "%d \n", vector[last_2_digits]);
}
return 0;
}