Mai intai trebuie sa te autentifici.
Cod sursa(job #2003445)
Utilizator | 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();
}