Pagini recente » Cod sursa (job #2088441) | Cod sursa (job #2695914) | Cod sursa (job #2742448) | Cod sursa (job #2976127) | Cod sursa (job #1314779)
#include<cstdio>
#include<cstring>
using namespace std;
const int L=100;
int u10[10];
char s[L+1];
void act(int&x){
if(x>=10)
x-=10;
}
int power(int a,int b){
int p=1;
a=a%10;
b=b%4;
if(!b)
b=4;
for(int i=1;i<=b;i++)
p=(p*a)%10;
return p;
}
void lol(){
int x=0;
x++;
}
int main(){
freopen("cifra.in","r",stdin);
freopen("cifra.out","w",stdout);
int x=0;
for(int i=1;i<=100;i++){
x+=power(i,i);
act(x);
if(i%10==0)
u10[(i/10)%10]=x;
}
int t;
scanf("%d\n",&t);
while(t){
t--;
gets(s);
int l=strlen(s);
int res=0;
if(l>=2)
res=u10[s[l-2]-'0'];
for(int i=1;i<=s[l-1]-'0';i++){
if(l>=2)
res+=power(i,(s[l-2]-'0')*10+i);
else
res+=power(i,i);
act(res);
}
printf("%d\n",res);
}
return 0;
}