Pagini recente » Cod sursa (job #3306076) | Cod sursa (job #2592930) | Cod sursa (job #2746531) | Cod sursa (job #1597327) | Cod sursa (job #3303422)
#include <fstream>
using namespace std;
int ans[100]; /// ans[i] = uc(1^1 + 2^2 + ... + i^i)
string s;
ifstream f("cifra.in");
ofstream g("cifra.out");
int ucif(int n) ///ultima cifra a lui n^n
{
int uc = n % 10, r = n % 4, p = 1;
if(r == 0)
r = 4;
while(r--)
p = p * uc;
return p % 10;
}
void precalc()
{
for(int i = 1; i < 100; i++)
ans[i] = (ans[i - 1] + ucif(i)) % 10;
}
void solve()
{
f >> s;
int n = s.size(), x;
if(n == 1)
x = s[0] - '0';
else
x = (s[n - 2] - '0') * 10 + (s[n - 1] - '0');
g << ans[x] << '\n';
}
int main()
{
precalc();
int T;
f >> T;
while(T--)
solve();
f.close();
g.close();
return 0;
}