Pagini recente » Cod sursa (job #768388) | Cod sursa (job #226577) | Cod sursa (job #3165659) | Cod sursa (job #27788) | Cod sursa (job #1678820)
# include <iostream>
# include <cstdio>
# include <fstream>
# include <cmath>
#include <cstring>
using namespace std;
ifstream f("cifra.in");
ofstream g("cifra.out");
int t;
char n[120];
int sol[102];
struct cif
{
int nr;
short c[6];
} cif[9];
int main()
{
int i;
int len;
f>>t; f.get();
cif[0].nr=1; cif[0].c[0]=0;
cif[1].nr=1; cif[1].c[0]=1;
cif[2].nr=4; cif[2].c[1]=2; cif[2].c[2]=4; cif[2].c[3]=8; cif[2].c[0]=6;
cif[3].nr=4; cif[3].c[1]=3; cif[3].c[1]=9; cif[3].c[3]=7; cif[3].c[0]=1;
cif[4].nr=2; cif[4].c[1]=4; cif[4].c[0]=6;
cif[5].nr=1; cif[5].c[0]=5;
cif[6].nr=1; cif[6].c[0]=6;
cif[7].nr=4; cif[7].c[1]=7; cif[7].c[2]=9; cif[7].c[3]=3; cif[7].c[0]=1;
cif[8].nr=2; cif[8].c[1]=8; cif[8].c[0]=6;
cif[9].nr=2; cif[9].c[1]=9; cif[9].c[0]=1;
for(i=1;i<=99;i++)
{
sol[i]=sol[i-1]+cif[i%10].c[ i%cif[i%10].nr ];
if(sol[i]>=10) sol[i]-=10;
}
for(;t;t--)
{
f.get(n,120); f.get();
len=strlen(n);
if(len>1)
g<<sol[(n[len-2]-'0')*10 + n[len-1]-'0']<<'\n';
else g<<sol[n[len-1]-'0']<<'\n';
}
f.close();
g.close();
return 0;
}