Cod sursa(job #925360)

Utilizator mazaandreiAndrei Mazareanu mazaandrei Data 24 martie 2013 14:18:26
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
#include<cstring>
using namespace std;
int n,sum,t;
int x[128];
char s[128];
int put(int a, int b){
    int p=1;
    while(b){
        if(b&1) p=(p*a)%10;
        a=(a*a)%10; b/=2;
    }
    return p%10;
}
int main(){
    ifstream in("cifra.in"); ofstream out("cifra.out");
    in>>t;
    for(int j=0;j<=105;++j){
        sum=0;
        for(int i=1;i<=j;++i){
            sum+=put(i,i);
            sum%=10;
        }
        x[j]=sum;
    }
    for(;t;--t){
        in>>s;
        if(strlen(s)<2)
            out<<x[s[0]-'0']<<'\n';
        else
            out<<x[(s[strlen(s)-2]-'0')*10+(s[strlen(s)-1]-'0')]<<'\n';
    }
    return 0;
}