Pagini recente » Cod sursa (job #1591889) | Cod sursa (job #3205972) | Cod sursa (job #1961393) | Cod sursa (job #1303280) | Cod sursa (job #2740494)
#include <fstream>
#include <iostream>
#include <cstring>
using namespace std;
char s[100001];
int rez;
int v[100001];
ifstream f;
ofstream g;
const int MOD2 = 10;
int exp(int a, int b) {
int P = 1;
while (b) {
if (b % 2 != 0)
P = (P * a) % MOD2;
a = (a * a) % MOD2;
b /= 2;
}
return P;
}
void precalc() {
int i, sum = 0;
for (i = 1; i <= 100; i++) {
sum = (sum + exp(i, i)) % MOD2;
v[i] = sum;
}
}
void solve() {
int i, n, nr = 0;
f >> s;
n = strlen(s);
for (i = max(0, n - 2); i < n; i++)
nr = nr * 10 + (s[i] - 48);
g << v[nr] << '\n';
}
int main() {
int t;
precalc();
f.open("cifra.in");
g.open("cifra.out");
f >> t;
while (t--)
solve();
f.close();
g.close();
return 0;
}