Cod sursa(job #1428872)

Utilizator GeiGeiGeorge Cioroiu GeiGei Data 5 mai 2015 11:01:37
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <string>

using namespace std;

int modexp(int b, int e, int m) {
    int ans = 1;
    while (e > 0) {
        if (e % 2 == 1)
            ans = (ans * b) % m;
        b = (b * b) % m;
        e >>= 1;
    }
    return ans;
}

int main() {
    ifstream fi("cifra.in");
    ofstream fo("cifra.out");

    int v[100];
    v[0] = 0;
    for (int i = 1; i <= 99; i++)
        v[i] = modexp(i, i, 10);

    int totaltest;
    fi >> totaltest;
    string s;
    getline(fi, s);
    for (int test = 1; test <= totaltest; test++) {
        getline(fi, s);
        int nr = 0;
        int l = s.size();
        for (int i = l - 1; i >= 0 && i >= l - 2; i--) {
            nr = nr * 10 + s[i] - '0';
        }
        fo << v[nr] << endl;
    }

    return 0;
}