Pagini recente » Cod sursa (job #2770452) | Cod sursa (job #3273227) | Cod sursa (job #530444) | Cod sursa (job #2219756) | Cod sursa (job #296013)
Cod sursa(job #296013)
#include <stdio.h>
#include <math.h>
#include <string.h>
int v[105];
int vv[105];
void imp(int x[],int imp,int c[])
{
int d=0,k,i;
c[0]=x[0];
for (i=x[0];i>=1;i--)
{
d=d*10+x[i];
c[i]=d/imp;
d=d%imp;
}
while ((c[c[0]]==0)&&(c[0]>=1)) c[0]--;
}
int uc (int x)
{ int m;
m=x%10;
if (m==0) return 0;
if (m==1) return 1;
if (m==2) { if (x%4==1) return 2;
if (x%4==2) return 4;
if (x%4==3) return 8;
if (x%4==0) return 6;
}
if (m==3) { if (x%4==1) return 3;
if (x%4==2) return 9;
if (x%4==3) return 7;
if (x%4==0) return 1;
}
if (m==4) {if (x%2==1) return 4;
if (x%2==0) return 6;
}
if (m==5) return 5;
if (m==6) return 6;
if (m==7) {if (x%4==1) return 7;
if (x%4==2) return 9;
if (x%4==3) return 3;
if (x%4==0) return 1;
}
if (m==8) {if (x%4==1) return 8;
if (x%4==2) return 4;
if (x%4==3) return 2;
if (x%4==0) return 6;
}
if (m==9) {if (x%2==1) return 9;
if (x%2==0) return 1;
}
}
int main()
{ freopen ("cifra.in","r",stdin);
freopen ("cifra.out","w",stdout);
int t,i,n,j,ww,w,k,r;
char c[105];
scanf ("%d",&t);
gets (c);
for (i=1;i<=t;i++)
{ww=0;
gets(c);
n=strlen (c);
v[0]=n;
for (j=0;j<n;j++)
v[n-j]=c[j]-'0';
imp(v,20,vv);
w=vv[vv[0]]*4;
w=w%10;
if (v[0]>=2)
ww=v[2]*10+v[1];
else ww=v[1];
ww=ww%20;
for (k=1;k<=ww;k++)
{r=uc(k);
w=w+r;
}
w=w%10;
printf ("%d\n",w);
}
fcloseall();
return 0;
}