Cod sursa(job #2003445)

Utilizator DavidLDavid Lauran DavidL Data 22 iulie 2017 21:46:10
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <cstring>
#define MAX_C 105
using namespace std;
ifstream fi("cifra.in");
ofstream fo("cifra.out");

int nrc,t,rez;
char C[MAX_C];

void completare(int nr[10])
{
    for (int i=1; i<=C[nrc]-'0'; i++)
        rez+=nr[i];
}

int main()
{
    fi>>t;
    for (int i=1; i<=t; i++)
    {
        fi>>(C+1);
        C[0]='0';
        nrc=strlen(C+1);
        rez=7*(C[nrc-1]-'0');
        int nr[10];
        nr[0]=0,nr[1]=1,nr[4]=6,nr[5]=5,nr[6]=6;
        nr[9]=9;
        if ((((C[nrc-1]-'0')&1)==0)||nrc==1) ///nr par
        ///de grupuri
            nr[2]=4,nr[3]=7,nr[7]=3,nr[8]=6;
        else ///nr impar de grupuri
            nr[2]=6,nr[3]=3,nr[7]=7,nr[8]=4;
        completare(nr);
        rez=rez%10;
        fo<<rez<<"\n";
    }

    fi.close();
    fo.close();
}