Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Autentificare | Istoria paginii utilizator/buclucashu | Cod sursa (job #2321831)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int t,sol;
char s[105];
int main()
{
fin>>t;
fin.get();
for(int i=1;i<=t;i++)
{
sol=0;
fin>>s;
int x=s[strlen(s)-1]-'0';
if(strlen(s)>1)
{
sol+=7*(s[strlen(s)-2]-'0');
}
for(int c=0;c<=x;c++){
if(sol>=10)
sol=sol%10;
int aux=1;
if(c==1 || c==4 || c==5 || c==6 || c==9)
{
for(int j=1;j<=c;j++)
aux*=c;
sol+=aux%10;
}
else if(c==2 || c==3 || c==7 || c==8)
{
if(strlen(s)>1)
aux=(s[strlen(s)-2]-'0')*10+c;
else
aux=c;
int aux1=1;
if(aux%4==0)
{
aux1*=c*c*c*c;
}
else{
for(int j=1;j<=aux%4;j++)
aux1*=c;
}
sol+=aux1%10;
}
}
fout<<sol%10<<'\n';
}
}