Cod sursa(job #1575802)

Utilizator CiurezAndreiCiurez Marius-Andrei CiurezAndrei Data 21 ianuarie 2016 21:12:14
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream>
#include <cstring>

using namespace std;

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

int T, sum;
char S[1024];
int v[128];

int putere(int a, int b)
{
    int result = 1;
    while(b > 0)
    {
        if(b % 2 == 0)
        {
            a *= a;
            a %= 10;
            b /= 2;
        }
        else
        {
            result *= a;
            result %= 10;
            b --;
        }
    }
    return result;
}

int main()
{
    fin >> T;

    for(int i = 1; i <= 99; i ++)
    {
        sum += (putere(i,i) % 10);
        sum %= 10;
        v[i] = sum;
    }

    while(T --)
    {
        fin >> S;

        int lenghtS = strlen(S);

        if(lenghtS > 1)
        {
            fout << v[(S[lenghtS - 2] -'0') * 10 + (S[lenghtS -1] - '0')] << '\n';
        }
        else
        {
            fout << v[S[lenghtS - 1] - '0'] << '\n';
        }


    }

    return 0;
}