Cod sursa(job #3369682)

Utilizator sandu_stefanicaSandu David Stefan sandu_stefanica Data 21 octombrie 2026 15:27:05
Problema Cifra Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>
#include <string>

using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int power_mod10(int base, int exp)
{
    int res=1;
    base%=10;
    while (exp>0)
    {
        if (exp%2==1)
        {
            res=(res*base)%10;
        }
        base=(base*base)%10;
        exp/=2;
    }
    return res;
}
int ans[100];

int main()
{
    int current_sum=0;
    for (int i=1;i<=100;i++)
    {
        int last_digit_term=power_mod10(i, i);
        current_sum=(current_sum + last_digit_term)%10;
        ans[i%100]=current_sum;
    }
    int T;
    if (!(fin >> T)) return 0;
    while (T--)
    {
        string N;
        fin>>N;
        int rem=0;
        int len=N.length();
        if (len==1)
        {
            rem=N[0]-'0';
        }
        else
        {
            rem=(N[len-2]-'0')*10+(N[len-1]-'0');
        }

        fout<<ans[rem]<<"\n";
    }
    return 0;
}