Pagini recente » Monitorul de evaluare | Cod sursa (job #498749) | Cod sursa (job #638570) | Istoria paginii utilizator/popescu_dumitru_mircea_323ca | Cod sursa (job #643606)
Cod sursa(job #643606)
#include<fstream>
#include<iostream>
#include<string.h>
using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int main()
{
int cif[10][4];
int i,j,k,c=0,r=0,p;
char N[110];
for(i=0;i<10;i++)
{
cif[i][0]=i;
for(j=1;j<4;j++)
{
cif[i][j]=(cif[i][j-1]*i)%10;
}
}
fin>>j;
while(j)
{
r=0;
c=0;
fin>>N;
p=strlen(N);
if(p>=2)
{
k=(N[p-2]-'0')*10+(N[p-1]-'0');
}
else
{
k=N[p-1]-'0';
}
while(k>20)
{
k=k-20;
c=c+4;
}
c=c%10;
for(i=1;i<=k;i++)
{
if(i%10==0)
{
r+=10;
}
if(i%4==0)
{
c=c+cif[i-r][3];
}
else
{
c=c+cif[i-r][i%4-1];
}
}
fout<<c%10<<endl;
j--;
}
return 0;
}