Pagini recente » Cod sursa (job #1488285) | Cod sursa (job #2267321) | Cod sursa (job #2841424) | Cod sursa (job #2228066) | Cod sursa (job #1278166)
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int v[105];
int pt(int x,int b)
{
int x1 = x,x2 = 1;
if(b == 0) return 1;
if(b == 1) return x % 10;
while(b > 1)
if(b&1){
b ^= 1;
x2 = (x1 * x2) % 10;
}
else{
b >>= 1;
x1 = (x1 * x1) % 10;
}
return (x1 * x2)%10;
}
void precalc()
{
for(int i = 1; i <= 100; ++i)
v[i] = (v[i-1] + pt(i,i))%10;
}
int main()
{
freopen("cifra.in","r",stdin);
freopen("cifra.out","w",stdout);
int T; scanf("%d\n",&T);
precalc();
while(T--)
{
char c[256];
scanf("%s\n",&c);
reverse(c,c+strlen(c));
if(c[1] == 0)
printf("%d\n",v[c[0] - 48]);
else
printf("%d\n",v[ (c[1]-48) * 10 + (c[0]-48) ] );
}
return 0;
}