Pagini recente » Cod sursa (job #1278640) | Cod sursa (job #15036) | Cod sursa (job #2142676) | Cod sursa (job #2674373) | Cod sursa (job #1810191)
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream cin ("cifra.in");
ofstream cout ("cifra.out");
int i, p, k;
int last[10];
last[0] = 0;
for (i = 1; i < 10; ++i)
{
p = i;
k = 1;
while (k < i)
{
++k;
p = p*i %10;
}
last[i] = p;
}
int lastDigit[100], lDigit;
lastDigit[0] = 0;
for (i = 1; i < 100; ++i)
{
int lDigit = 0;
for (int j = 1; j <= i; ++j)
{
lDigit += last[j%10];
lDigit = lDigit % 10;
}
lastDigit[i] = lDigit;
}
int n, len, chars;
string str;
cin >> n;
for (i = 0; i < n; ++i)
{
cin >> str;
len = str.size();
chars = len > 2 ? 2 : len;
str = str.substr(len - chars, chars);
if (chars > 1)
k = 10 * ((int)(str[0] - '0')) + ((int)(str[1] - '0'));
else
k = ((int)(str[0] - '0'));
cout << lastDigit[k] << '\n';
}
return 0;
}