Nu aveti permisiuni pentru a descarca fisierul grader_test8.ok
Cod sursa(job #2321823)
Utilizator | Data | 16 ianuarie 2019 17:53:07 | |
---|---|---|---|
Problema | Cifra | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.01 kb |
#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';
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';
}
}