Cod sursa(job #3301499)

Utilizator tavy_codingAlbuica Ioan Octavian tavy_coding Data 27 iunie 2025 01:46:37
Problema Cifra Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#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);
}