Cod sursa(job #1607036)

Utilizator Vali_DeaconuVali Deaconu Vali_Deaconu Data 20 februarie 2016 19:42:39
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
# include <fstream>
# include <cstring>
# define MAXN 110

using namespace std;

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

const int m = 10;
char s[MAXN];
int n, r, x;

int exp(int n, int p) {
   if (p == 0)
        return 1;

   int nm = n % m;
   int r = exp(nm, p / 2);
   r = (r * r) % m;

   if (p % 2 == 0)
        return r;

   return (r * nm) % m;
}

int main() {
    fin >> x;
    fin.get();
    while (x--) {
        fin.getline(s, MAXN);
        n = s[strlen(s) - 1] - '0';
        r = 0;
        for (int i=1; i<=n; ++i)
            r = (r + exp(i, i)) % m;
        fout << r << "\n";
    }
    return 0;
}