Pagini recente » Cod sursa (job #2823974) | Cod sursa (job #862076) | Cod sursa (job #2617104) | Cod sursa (job #1245973) | Cod sursa (job #1796280)
#include<fstream>
#include<cstring>
using namespace std;
int ucnxn[10],w[10],u2[10],w2[10];
short int rest[10][6],perioada[10];
int main()
{
ifstream f("cifra.in");
ofstream g("cifra.out");
int ii,n,j,a,b,S,y,x;;;
char text[103];
//int T=0,tr=0;
//
//for(ii=0;ii<=9;++ii)
//{
// a=ii;
// b=ii;
// j=1;
// rest[ii][j]=b;
// do
// {
// ++j;
// b=(b*a)%10;
// rest[ii][j]=b;
// }while(a!=b);
// rest[ii][0]=rest[ii][j-1];
// perioada[ii]=j-1;;
//}
//
////afisam rezultate
//for(ii=0;ii<=9;++ii)
//{
// g<<ii<<" perioada="<<perioada[ii]<<'\n';
// for(j=0;j<perioada[ii];++j)
// g<<" *"<<rest[ii][j]<<'\n';
//}
//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)
{
S=S+ucnxn[ii];
w[ii]=(S)%10;
//g<<ii<<" ucnxn[ii]="<<ucnxn[ii]<<" "<<w[ii]<<'\n';
u2[ii]=ucnxn[ii];
}
u2[2]=6;u2[3]=3;u2[7]=7;u2[8]=4;
S=0;
for(ii=0;ii<=9;++ii)
{
S=S+u2[ii];
w2[ii]=(S)%10;
//g<<ii<<" u2[ii]="<<u2[ii]<<" "<<w2[ii]<<'\n';
}
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);
if(y>=2)
{
x=(text[y-2]-'0')*10+(text[y-1]-'0');
}
else
{
x=(text[y-1]-'0');
}
//g<<"x="<<x<<'\n';
a=((x/10)*S)%10;
//g<<"a="<<a<<'\n';
b=x%10;
if(a%2==0)
a=(a+w[b])%10;
else
a=(a+w2[b])%10;
g<<a<<'\n';
//g<<'\n';*/ /*
}
return 0;
}