Cod sursa(job #1229269)

Utilizator FlowstaticBejan Irina Flowstatic Data 16 septembrie 2014 20:47:55
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include<cstdio>
#include<cstring>
#include<cstdlib>

FILE *fin = fopen( "cifra.in", "rt");
FILE *fout = fopen ("cifra.out", "wt");

int Sume[]= {0,1,5,2,8,3,9,2,8,7,7,
                      8,4,7,3,8,4,1,5,4,4,5,
                      9,6,2,7,3,6,2,1,1,2,8,
                      1,7,2,8,5,9,8,8,9,3,0,
                      6,1,7,0,6,5,5,6,2,5,1,
                      6,2,9,3,2,2,3,7,4,0,5,
                      1,4,0,9,9,0,6,9,5,0,6,
                      3,7,6,6,7,1,8,4,9,5,8,
                      4,3,3,4,0,3,9,4,0,7,1,
                      0,0};

char Ln[1000];

int main()
{
    int Lg, T, nr;
   fscanf(fin,"%d",&T);
   for(int i=1; i<=T; i++)
   {
      fscanf(fin,"%s",&Ln);
      Lg=strlen(Ln);
      if( Lg ==1 )
            fprintf(fout, "%d\n" , Sume[Ln[0]-'0']);
      else if(Lg == 2)
      {
             nr = (Ln[0]-'0')*10+(Ln[1]-'0');
             fprintf(fout, "%d\n" , Sume[nr]);
      }
      else
      {
            nr = 0;
            for(int k=Lg-1; k>=Lg-3; k--)
                nr = nr*10+(Ln[k]-'0');
            fprintf(fout, "%d\n", Sume[nr%100]);
      }
   }
   return 0;

}