Pagini recente » Borderou de evaluare (job #341861) | Borderou de evaluare (job #2089833) | Borderou de evaluare (job #2232392) | Borderou de evaluare (job #1815482) | Cod sursa (job #224618)
Cod sursa(job #224618)
#include <stdio.h>
#include <string.h>
int last_digit(int a, int b) {
b %= 4;
if (!b) b = 4;
int prod = 1;
for (int i = 0; i < b; ++i)
prod = (prod * a) % 10;
return prod;
}
int main() {
FILE *f, *g;
int digit[128];
char buffer[128];
int t, n;
digit[0] = 0;
for (int i = 1; i < 100; ++i) {
digit[i] = (digit[i - 1] + last_digit(i % 10, i)) % 10;
// printf("%d", digit[i]);
}
// printf("\n");
f = fopen("cifra.in", "rt");
g = fopen("cifra.out", "wt");
fscanf(f, "%d", &t);
for (int i = 0; i < t; ++i) {
fscanf(f, "%s", buffer);
char *no = (strlen(buffer) >= 2) ? buffer + (strlen(buffer) - 2) : buffer;
sscanf(no, "%d", & n);
fprintf(g, "%d\n", digit[n % 100]);
}
fclose(f);
fclose(g);
return 0;
}