Pagini recente » Cod sursa (job #2713371) | Borderou de evaluare (job #597769) | Cod sursa (job #3041664)
#include <fstream>
#include <string>
using namespace std;
string s;
const int PRECALC = 20;
int ultimaCifra[1 + PRECALC];
void preCalc()
{
for (int i = 1; i <= PRECALC; i++)
{
int sol = 1;
int j = i;
while (j--)
{
sol *= i;
sol %= 10;
}
ultimaCifra[i] = (ultimaCifra[i - 1] + sol) % 10;
}
}
int main()
{
ifstream in("cifra.in");
ofstream out("cifra.out");
ios_base::sync_with_stdio(false);
in.tie(nullptr);
preCalc();
int t;
in >> t;
while (t--)
{
in >> s;
if (s.size() == 1)
{
out << ultimaCifra[s[0] - '0'] << '\n';
}
else
{
out << ultimaCifra[10 * (s[s.size() - 2] - '0') + (s[s.size() - 1] - '0')] << '\n';
}
}
in.close();
out.close();
return 0;
}