Cod sursa(job #1400697)

Utilizator sebi110Ciobanu Sebastian sebi110 Data 25 martie 2015 13:22:59
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.28 kb
#include <fstream>
#include <string.h>
using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int t,i,j,p,k,uc,nr;
char c[103];
int main()
{
    fin>>t;
    for(i=1;i<=t;i++)
    {
        fin>>c;
        p=strlen(c);
        if(p>=2){nr=c[p-2];
                j=c[p-2]*10+c[p-1];
                k=j%4;uc=nr*7;
                j=c[p-1];}
        else {j=c[p-1]-48;k=j%4;}
        if(j==1)uc=uc+1;
        else if(j==2){if(k==1)uc=uc+3;
                      if(k==2)uc=uc+5;
                      if(k==3)uc=uc+9;
                      if(k==0)uc=uc+7;}
             else if(j==3){if(k==1)uc=uc+0;
                            if(k==2)uc=uc+2;
                            if(k==3)uc=uc+2;
                            if(k==0)uc=uc+0;}
                 else if(j==4){if(k==1)uc=uc+4;
                               if(k==2)uc=uc+6;
                               if(k==3)uc=uc+6;
                               if(k==0)uc=uc+8;}
                  else if(j==5){if(k==1)uc=uc+3;
                                if(k==2)uc=uc+9;
                                if(k==3)uc=uc+1;
                                if(k==0)uc=uc+1;}
                        else if(j==6){if(k==1)uc=uc+7;
                                      if(k==2)uc=uc+9;
                                      if(k==3)uc=uc+5;
                                      if(k==0)uc=uc+7;}
                                else if(j==7){if(k==1)uc=uc+4;
                                              if(k==2)uc=uc+6;
                                              if(k==3)uc=uc+2;
                                              if(k==0)uc=uc+6;}
                                    else if(j==8){if(k==1)uc=uc+4;
                                                  if(k==2)uc=uc+8;
                                                  if(k==3)uc=uc+8;
                                                  if(k==0)uc=uc+8;}
                                            else if(j==9){if(k==1)uc=uc+7;
                                                          if(k==2)uc=uc+5;
                                                          if(k==3)uc=uc+7;
                                                          if(k==0)uc=uc+9;}
        if(uc>=10)uc=uc%10;
        fout<<uc<<'\n';
        uc=0;

    }
    return 0;
}