Pagini recente » Cod sursa (job #1071399) | Cod sursa (job #434342) | Cod sursa (job #2262059) | Cod sursa (job #434382) | Cod sursa (job #552399)
Cod sursa(job #552399)
#include<stdio.h>
#include<string.h>
char s[102];
long t,i;
int m,n,r,j;
int put(int n)
{int x1=n%10,x2=((n%10)*(n%10))%10,t=n,i=0,v[1001],j;
while(t!=0)
{v[i++]=t%2;
t/=2;}
for(j=i-2;j>=0;j--)
if(v[j]==0)
{x2=((x1%10)*(x2%10))%10;
x1=((x1%10)*(x1%10))%10;}
else
{x1=((x1%10)*(x2%10))%10;
x2=((x2%10)*(x2%10))%10;}
return x1%10;}
int main()
{freopen("cifra.in","r",stdin);
freopen("cifra.out","w",stdout);
scanf("%ld\n",&t);
for(i=1;i<=t;i++)
{scanf("%s\n",s);
m=strlen(s);
n=(s[m-2]-'0')*10+(s[m-1]-'0');
r=0;
for(j=1;j<=n;j++)
r=(r+put(j))%10;
printf("%d\n",r);}
fclose(stdin);
fclose(stdout);
return 0;}