Cod sursa(job #3041664)

Utilizator Razvan48Capatina Razvan Nicolae Razvan48 Data 31 martie 2023 23:19:07
Problema Cifra Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <string>

using namespace std;

string s;

const int PRECALC = 20;

int ultimaCifra[1 + PRECALC];

void preCalc()
{
    for (int i = 1; i <= PRECALC; i++)
    {
        int sol = 1;
        int j = i;

        while (j--)
        {
            sol *= i;
            sol %= 10;
        }

        ultimaCifra[i] = (ultimaCifra[i - 1] + sol) % 10;
    }
}

int main()
{
    ifstream in("cifra.in");
    ofstream out("cifra.out");

    ios_base::sync_with_stdio(false);
    in.tie(nullptr);

    preCalc();

    int t;
    in >> t;

    while (t--)
    {
        in >> s;

        if (s.size() == 1)
        {
            out << ultimaCifra[s[0] - '0'] << '\n';
        }
        else
        {
            out << ultimaCifra[10 * (s[s.size() - 2] - '0') + (s[s.size() - 1] - '0')] << '\n';
        }
    }

    in.close();
    out.close();

    return 0;
}