Pagini recente » Cod sursa (job #2206853) | Cod sursa (job #957314) | Cod sursa (job #1359157) | Borderou de evaluare (job #2116781) | Cod sursa (job #3301499)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SZ 101
int main()
{
int a[21] = {0, 1, 4, 7, 6, 5, 6, 3, 6, 9, 0, 1, 6, 3, 6, 5, 6, 7, 4, 9, 0};
int v[21];
v[0] = 0;
for (int i = 1; i <= 20; i++) {
v[i] = (v[i - 1] + a[i]) % 10;
}
FILE *file_in = fopen("cifra.in", "r");
FILE *file_out = fopen("cifra.out", "w");
int t;
fscanf(file_in, "%d", &t);
for (int i = 0; i < t; i++) {
char *s = (char *)calloc(MAX_SZ, 1);
fscanf(file_in, "%s", s);
int l = strlen(s), u;
if (l == 1) {
u = s[l - 1] - '0';
}
if (l > 1) {
u = (s[l - 2] - '0') * 10 + (s[l - 1] - '0');
}
int q = u / 20;
int r = u % 20;
fprintf(file_out, "%d\n", (q * 4 + v[r]) % 10);
free(s);
}
fclose(file_in);
fclose(file_out);
}