Pagini recente » Cod sursa (job #1490986) | Cod sursa (job #2645149) | Cod sursa (job #412483) | Cod sursa (job #3132026) | Cod sursa (job #2642399)
#include <fstream>
#include <vector>
using namespace std;
int maxim(int x, int y);
int putere(int a, int b);
string sir;
int main()
{
ifstream f("cifra.in");
ofstream g("cifra.out");
vector<int>v(101);
int T; f >> T;
for (int i = 1; i < v.size(); i++) v[i] = v[i - 1] + putere(i, i);
while (T--) {
f >> sir;
int k = sir.size(), x = 0;
for (int i = maxim(0, k - 2); i < k; i++) x = x * 10 + (sir[i] - '0');
int y = v[x] % 100;
g << y % 10 << endl;
}
v.clear(); f.close(); g.close();
}
int putere(int a, int b)
{
if (!a) return 0;
if (a == 1 || !b) return 1;
int rez = putere(a, b / 2);
rez = (rez * rez) % 10;
if (b & 1) rez = (rez * a) % 10;
return rez % 10;
}
int maxim(int x, int y) {
int maxi = x;
if (maxi < y) maxi=y;
return maxi;
}