Pagini recente » Cod sursa (job #2880604) | Cod sursa (job #644883) | Cod sursa (job #1142156) | Cod sursa (job #2883604) | Cod sursa (job #1171235)
#include <cstring>
#include <fstream>
using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
const int MAXN = 103;
int T, N, c[11][5], cif;
char v[MAXN];
void precalc()
{
for (int i = 1; i < 10; ++i)
{
int prod = 1;
for (int j = 1; j <= 4; ++j)
{
prod *= i;
c[i][j%4] = prod % 10;
}
}
for (int i = 1; i < 10; ++i)
cif += c[i][i%4];
cif %= 10;
}
inline int solve()
{
int sol = cif * (N - 1);
int u_cif = v[N-1] - '0';
for (int i = 1; i <= u_cif; ++i)
sol += c[i][i%4];
return sol%10;
}
void read()
{
fin >> T >> ws;
for ( ; T; --T)
{
fin.getline(v, MAXN);
N = strlen(v);
fout << solve() << "\n";
}
}
int main()
{
precalc();
read();
fin.close();
fout.close();
return 0;
}