Pagini recente » Cod sursa (job #2871355) | Cod sursa (job #1355878) | Cod sursa (job #581583) | Cod sursa (job #2585726) | Cod sursa (job #1795436)
#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;
}