Cod sursa(job #2778218)

Utilizator Tudor_PascaTudor Pasca Tudor_Pasca Data 30 septembrie 2021 15:17:48
Problema Cifra Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<bits/stdc++.h>

using namespace std;

int last[110];

int lastDigit(int x, int n)
{
    //cout << "base: " << x << '\n';

    n = n % 4;

    if(n == 0)
        n = 4;

    //cout << n << "\n\n";

    int ans = 1;

    while(n--)
        ans *= x;

    return ans % 10;
}

void precalc()
{
    for(int i = 1; i <= 100; i++)
        last[i] = (last[i - 1] + lastDigit(i, i)) % 10;

}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    precalc();

    int T;
    cin >> T;

    while(T--)
    {
        string x;
        cin >> x;

        int nr, len = x.size();

        if(len == 1)
            nr = x[0] - '0';
        else
            nr = (x[len - 2] - '0') * 10 + (x[len - 1] - '0');

        cout << last[nr] << '\n';
    }

    return 0;
}