Cod sursa(job #2806223)

Utilizator namesurname01Name Surname namesurname01 Data 22 noiembrie 2021 14:22:17
Problema Cifra Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <stdio.h>
#include <cstring>
#include <string>

using namespace std;
FILE* f, * g;

int v[1002] = { 0,1,5,2,8,3,9,2,8,7,7,8,4,7,3,8,4,1,5,4,4,5,9,6,2,7,3,6,2,1,1,2,8,1,7,2,8,5,9,8,8,9,3,0,6,1,7,0,6,5,5,6,2,5,1,6,2,9,3,2,2,3,7,4,0,5,1,4,0,9,9,0,6,9,5,0,6,3,7,6,6,7,1,8,4,9,5,8,4,3,3,4,0,3,9,4,0,7,1,0 };
///ultima cifra a sumelor se repeta din 100 in 100 de termeni
///de ex u(1^1+...+98^98)=1, adica 100%98=98, adica v[98] care e egal cu 1;
char c[202];

int main()
{
    int m, n, i, nr, lg;
    f = fopen("cifra.in", "r");
    g = fopen("cifra.out", "w");
    fscanf(f, "%d", &m);
    for (i = 1;i <= m;i++)
    {
        fscanf(f, "%s", &c);
        lg = strlen(c);
        if (lg == 1)
        {
            nr = c[0] - '0';
            fprintf(g, "%d\n", v[nr]);
        }
        else
        {
            lg--;
            nr = (c[lg] - '0') + (c[lg - 1] - '0') * 10;
            fprintf(g, "%d\n", v[nr]);
        }
    }
    fclose(f);
    fclose(g);
    return 0;
}