Pagini recente » Cod sursa (job #1016735) | Cod sursa (job #2902468) | Cod sursa (job #2448440) | Cod sursa (job #422051) | Cod sursa (job #2351138)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("cifra.in");
ofstream cout("cifra.out");
int pw(int b, int e)
{
int ans(1);
if (e == 0)
e = 4;
while (e)
{
ans = ans * b % 10;
e--;
}
return ans;
}
int main()
{
int q;
string n;
cin >> q;
while (q--)
{
cin >> n;
int ans(0);
reverse(n.begin(), n.end());
if (n.size() >= 2)
{
for (int j = 1; j <= n[0] - '0'; ++j) ///analizam ultima grupa
{
ans += pw(j % 10, (j + (n[1] - '0') % 2 * 2) % 4);
if (ans >= 10)
ans -= 10;
}
}
else
{
for (int j = 1; j <= n[0] - '0'; ++j)
{
ans += pw(j % 10, j % 4);
if (ans >= 10)
ans -= 10;
}
}
if (n.size() >= 2)
cout << (ans + 7 * (n[1] - '0')) % 10 << '\n';
else
cout << ans << '\n';
}
return 0;
}