Cod sursa(job #657491)

Utilizator teo721Pavel Teo teo721 Data 6 ianuarie 2012 17:37:52
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.3 kb
#include<iostream>
#include<fstream>
#include<string>

using namespace std;
char ni[200];
int scadere(char);
int main()
{
    int j,i,t,e,aux,s,n[200],p;
    char a='0';
    fstream f("cifra.in",ios::in);
    fstream g("cifra.out",ios::out);
    f>>t;
    for(i=1;i<=t;i++)
    {
       s=0;
       f>>ni;
      j=strlen(ni)-1;;
      for(e=0;e<=j;e++)
      {
       n[e]=int(ni[e])-int(a);
       }
        
      do
      {
      aux=n[j];
      if(j>0)
       e=n[j-1]*10+n[j];
       else
        e=n[j];
      if(aux==2)
      {
      if(e%4==1)
       s+=2;
      else
       if(e%4==2)
        s+=4;
       else
        if(e%4==3)
        s+=8;
        else
          s+=6;
      }
      else 
       if(aux==3)
       {
          if(e%4==1)
          s+=3;
          else
            if(e%4==2)
             s+=9;
             else
              if(e%4==3)
              s+=7;
              else
               s+=1;       
       }
       else
        if(aux==7)
        {
         if(e%4==1)
          s+=7;
          else
            if(e%4==2)
             s+=9;
             else
              if(e%4==3)
              s+=3;
              else
               s+=1;
        }
        else
          if(aux==8)
          {
            if(e%4==1)
               s+=8;
            else
            if(e%4==2)
             s+=4;
             else
              if(e%4==3)
              s+=2;
              else
               s+=6;
        }
        else
            if(aux==9)
            {
              if(e%4==1)
              s+=9;
                else
                 s+=1;
            }
            else
              if(aux==4)
                {
                  if(e%2==1)
                   s+=4;
                  else
                  s+=6;
                  
                }
              else
              {
                s+=aux;
                }
        p=j;
        do
        {
          n[p]--;
          p--;
          }
         while(n[j]==9);
        
        for(p=1;p<j;p++)
         if(n[p]==0)
         {
          n[p]=n[p+1];
          j--;
          }
          
          }
        while(n[0]>0);
       g<<s%10<<endl;
    }
       
    f.close();
    g.close();
    
}