Cod sursa(job #878668)

Utilizator taigi100Cazacu Robert taigi100 Data 14 februarie 2013 17:43:14
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<stdio.h>
#include<string.h>
int n;
int a,b;
char p[105];
 int v1[]={0,1,5,2,8,3,9,2,8,7,7};
 int v2[]={0,1,7,0,6,1,7,4,8,7,7};
void LastNum()
{
     int g=strlen(p);
     if(g<2)
     {
         printf("%d\n",v1[p[g-1]-'0']);
         return;
     }
     int s;
     a=p[g-2]-'0';
     b=p[g-1]-'0';
     if(b==0)
     {
         b=10;
         s=((a-1)*7)%10;
     }
     else
        s=(a*7)%10;
     if(a%2)
        {
            s+=v2[b];
            printf("%d\n",s%10);
        }
    else
    {
        s+=v1[b];
        printf("%d\n",s%10);
    }

}
int main()
{
    freopen("cifra.in","r",stdin);
    freopen("cifra.out","w",stdout);
    scanf("%d",&n);

    for(int i=1;i<=n;i++)
    {
        scanf("%s",p);
        LastNum();
        memset(p,0,105);
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}