Cod sursa(job #2442747)

Utilizator LucaMihaiLM10Luca Ilie LucaMihaiLM10 Data 25 iulie 2019 10:55:14
Problema Cifra Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#define LMAX 101
using namespace std;
int uc[21], a[LMAX];
int main()
{
    ifstream cin( "cifra.in" );
    ofstream cout( "cifra.out" );
    int n, ncif, s, p, t, cif;
    string str;
    cin >> n;
    s = 0;
    for ( int i = 1; i <= 20; i++ ) {
        p = 1;
        for ( int j = 0; j < i; j++ ) {
            p = p * i;
            p %= 10;
        }
        s += p;
        s %= 10;
        uc[i] = s;
    }
    for ( int i = 0; i < n; i++ ) {
        cin >> str;
        ncif = str.size();
        for ( int j = 0; j < ncif; j++ )
            a[j] = str[j] - '0';
        t = 0;
        for ( int j = 0; j < ncif; j++ ) {
            t = t * 10 + a[j];
            a[j] = t / 20;
            t %= 20;
        }
        cif = a[ncif - 1] * uc[20] + uc[t];
        cif %= 10;
        cout << cif << '\n';
    }
}