Pagini recente » Cod sursa (job #2794755) | Cod sursa (job #243878) | Atasamentele paginii Labirint | Cod sursa (job #243875) | Cod sursa (job #3345836)
#include <fstream>
using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int precalc[105];
int pow(int a, int b)
{
int ans = 1;
for(int i = 0; i < b; ++i){
ans = (ans * a) % 10;
}
return ans;
}
int main()
{
for(int i = 1; i <= 100; ++i){
int lastDigit = pow(i, i);
precalc[i] = (precalc[i - 1] + lastDigit) % 10;
}
int t;
fin >> t;
for(int i = 0; i < t; ++i){
string n;
fin >> n;
if(n.length() == 1){
fout << precalc[n[n.length() - 1] - '0'] << '\n';
continue;
}
int x = (n[n.length() - 2] - '0') * 10 + (n[n.length() - 1] - '0');
fout << precalc[x] << '\n';
}
return 0;
}