Cod sursa(job #2321831)

Utilizator alexkosaAlex Kosa alexkosa Data 16 ianuarie 2019 17:59:26
Problema Cifra Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.1 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';
        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';
    }
}