Cod sursa(job #2252305)

Utilizator enderAntonia Onisoru ender Data 2 octombrie 2018 18:21:16
Problema Cifra Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <string>

using namespace std;
ifstream in("cifra.in");
ofstream out("cifra.out");

int ucif(int a,int p)
{
    int i=1,m=10;
    do{
        if(p%2!=0){
            i=(long long)i*a%m;
        }
        a=(long long)a*a%m;
        p/=2;
    }while(p!=0);
    return i;
}

int main()
{
    int t,i,j,n,u,k;
    string a;
    in>>t;
    i=0;
    for(i=0;i<t;i++){
        in>>a;
        j=0;
        while(a[j]!='\0'){
            j++;
        }
        //out<<j<<endl;
        u=0;
        if(j<2)
            k=a[j-1]-49+1;
        else{
        n=(a[j-2]-49+1)*10+(a[j-1]-49+1);
        //out<<j<<" "<<n<<endl;
        u=(n/20*4)%10;
        k=n%20;
        }
        //out<<k<<endl;
        for(int c=1;c<=k;c++){
            u=u+ucif(c,c);
            u=u%10;
            //out<<u<<" "<<ucif(c,c)<<endl;
        }
        out<<u<<endl;
    }
    return 0;
}