Mai intai trebuie sa te autentifici.
Cod sursa(job #215263)
| Utilizator | Data | 18 octombrie 2008 08:29:06 | |
|---|---|---|---|
| Problema | Cifra | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include<stdio.h>
#include<string.h>
int mod20[25];
void init()
{
for(int i=1;i<20;++i)
{
mod20[i]=1;
for(int j=1;j<=i;++j)
mod20[i]=(mod20[i]*i)%10;
mod20[i]=(mod20[i]+mod20[i-1])%10;
}
}
int citire()
{
char sir[105];
scanf("%s\n",sir);
int n=strlen(sir);
if(n==1)
return sir[0]-'0';
return (sir[n-1]-'0') + 10 * (sir[n-2]-'0');
}
inline int cifra(int n)
{
return n/20*4+mod20[n%20];
}
int main()
{
freopen("cifra.in","r",stdin);
freopen("cifra.out","w",stdout);
int t,n;
init();
scanf("%d\n",&t);
while(t--)
{
n=citire();
printf("%d\n",cifra(n));
}
return 0;
}
