Cod sursa(job #2470611)

Utilizator Antonio020712Potra Antonio Antonio020712 Data 9 octombrie 2019 16:28:24
Problema Cifra Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
// Calculati ultima cifra a sumei 1 ^ 1 + 2 ^ 2 + ... + N ^ N petnru T valori ale lui N.

#include <fstream>
#include <cstring>

using namespace std;

ifstream fin ("cifra.in");
ofstream fout ("cifra.out");

int cifre[101] = { 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 };

int main() {
    int T, i, l, a, b, nr;
    char sir[225];

    fin >> T;
    for (i = 1; i <= T; i++) {
        fin.get();
        fin.get(sir, 225);
        l = strlen(sir);
        if (l >= 2) {
            a = sir[l - 2] - '0';
            b = sir[l - 1] - '0';
            nr = 10 * a + b;
        } else 
            nr = sir[0] - '0';
        fout << cifre[nr] << '\n';
    }

    return 0;
}