Cod sursa(job #1795436)

Utilizator gruhtenZinnenberg Gruhten gruhten Data 2 noiembrie 2016 14:19:07
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#include<fstream>
#include<cstring>
using namespace std;

 int ucnxn[10];

int main()
{
    ifstream f("cifra.in");
    ofstream g("cifra.out");

int ii,n,i,j,a,b,S,T=0,y,x;;;
char text[102];
int tr=0;

//realizam vectorul pt ultima cifra nxn, n<=9
ucnxn[0]=0;
for(ii=1;ii<=9;++ii)
{
    a=ii;
    b=1;
    for(j=1;j<=ii;++j)
        b=(b*a)%10;
    ucnxn[ii]=b;
}

//S=0;
//for(ii=0;ii<=9;++ii)
//{
//    g<<ii<<" ucnxn[ii]="<<ucnxn[ii]<<'\n';
//    S=S+ucnxn[ii];
//}
//S=S%10;
//g<<S<<'\n';
//T=S*10;
//g<<T<<'\n';


f>>n;
//citim numerele
for(ii=1;ii<=n;++ii)
{
    f>>text;
        //facem impartirile
    y=strlen(text);
    b=text[y-1]-'0';

    //aflam restul impartirii la 7
    y=y-2;
    tr=0;
    for(i=0;i<=y;++i)
    {
        tr=(tr*10+text[i]-'0')%7;
    }
    x=tr*10+b;
        //g<<text<<"  rest="<<tr<<" "<<b<<' -->  ';
    //g<<text<<" "<<x<<" --> ";
    //calculam efectiv...
    S=0;
    for(i=1;i<=x;++i)
    {
        j=x%10;
        S=S+ucnxn[j];
    }
    S=S%10;
    g<<S<<'\n';
}


    return 0;
}