Pagini recente » Cod sursa (job #2184413) | Cod sursa (job #587163) | Cod sursa (job #1206012) | Cod sursa (job #2175455) | Cod sursa (job #3224716)
#include <bits/stdc++.h>
#define QED fin.close(); fout.close(); return 0;
using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
#define cin fin
#define cout fout
const int XMAX = 102;
int restlaputere(int a, int p, int MOD)
{
if(a == 0)
return 0;
int val = 1, x = a % MOD;
while(p > 0)
{
if(p % 2 != 0)
val = val * x % MOD;
x = x * x % MOD;
p /= 2;
}
return val;
}
int main()
{
int t;
cin >> t;
while(t--)
{
int lung, uc2, s = 0, s1, s2;
s1 = 9;
s2 = 7;
char x[XMAX];
cin >> x;
lung = strlen(x);
if(lung == 1)
uc2 = x[0] - '0';
else
uc2 = (x[lung - 2] - '0') * 10 + (x[lung - 1] - '0');
if(uc2 != 0)
s = uc2 / 20 * (s1 + s2) % 10;
else
s = 5 * (s1 + s2) % 10;
uc2 %= 20;
for(int i = 1; i <= uc2; i++)
s = (s + restlaputere(i, i, 10)) % 10;
cout << s << '\n';
}
QED
}