Cod sursa(job #463169)
| Utilizator | Data | 14 iunie 2010 18:02:45 | |
|---|---|---|---|
| Problema | Cifra | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<stdio.h>
#include<string.h>
int v[20];
int num(char s[101])
{
int n=strlen(s);
if(n==1)
return(s[0]-'0');
return (s[n-2]-'0')*10+s[n-1]-'0';
}
int main()
{
int n,i,j,t;
char s[101];
freopen("cifra.in","r",stdin);
freopen("cifra.out","w",stdout);
scanf("%d\n",&t);
for (i=1;i<=19;++i)
{
v[i]=1;
for(j=1;j<=i;++j)
v[i]=v[i]*i%10;
v[i]=(v[i]+v[i-1])%10;
}
while (t--)
{
gets(s);
n=num(s);
printf("%d\n",(n/20*4+v[n%20])%10);
}
}
