Cod sursa(job #2626745)

Utilizator cyg_vladioanBirsan Vlad cyg_vladioan Data 7 iunie 2020 21:10:53
Problema Cifra Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <cstdio>
#include <string>
#include <iostream>
using namespace std;
const int DMAX = 100;
const int MOD = 10;
int v[DMAX + 5];
int fast_pow(int a , int p)
{
    int aa = a;
    a = 1;
    for( ; p ; p = (p >> 1))
    {
        if(p & 1)
            a = (a * aa) % MOD;
        aa = (aa * aa) % MOD;
    }
    return a;
}
int main()
{
    freopen("cifra.in" , "r" , stdin);
    freopen("cifra.out" , "w" , stdout);
    int t , n , i , ind;
    string s;
    for(i = 1 ; i <= DMAX ; i ++)
        v[i] = (v[i - 1] + fast_pow(i , i)) % 10;
    scanf("%d" , &t);
    for(i = 1 ; i <= t ; i ++)
    {
        getline(cin , s);
        n = s.length();
        ind = (s[n - 2] - '0') * 10 + s[n - 1]- '0';
        if(ind == 0)
            printf("%d\n" , v[DMAX]);
        else
            printf("%d\n" , v[i]);
    }
    return 0;
}