Cod sursa(job #2613946)

Utilizator cosmin_paunicaCosmin Paunica cosmin_paunica Data 10 mai 2020 21:28:37
Problema Cifra Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.22 kb
#include  <fstream>
#define ull unsigned long long
using namespace std;
ifstream in("cifra.in");
ofstream out("cifra.out");
int v[] = { 0,1,5,2,8,3,9,2,8,7,7,8,4,7,3,8,4,1,5,4,4,5,9,6,2,7,
          3,6,2,1,1,2,8,1,7,2,8,5,9,8,8,9,3,0,6,1,7,0,6,5,5,
          6,2,5,1,6,2,9,3,2,2,3,7,4,0,5,1,4,0,9,9,0,6,9,5,0,
          6,3,7,6,6,7,1,8,4,9,5,8,4,3,3,4,0,3,9,4,0,7,1,0,0,
};
char s[103];
/*int u(int nr, int pwr){
nr%=10;
if (nr==0 or nr==1 or nr==5 or nr==6)
    return nr;
switch(pwr%4){
case 0: return (nr*nr*nr*nr*1ULL )%10;
case 1: return nr%10;
case 2:return (nr*nr)%10;
case 3: return (nr*nr*nr)%10;
}
}*/
int main()
{
    /* ull sum=0;
     for (int i=1;i<=100;++i)
         {sum+=u(i,i);
         sum%=10;
         cout<<sum<<" ,";
         if (i%25==0)
             cout<<'\n';
         }*/
    int t;
    in >> t;
    in.get();
    for (int i = 1; i <= t; ++i)
    {
        in.getline(s, 105);
        int d = strlen(s), ans;
        if (d == 1)
            ans = v[s[d - 1] - '0'];
        else
        {
            ans = v[(s[d - 2] - '0') * 10 + (s[d - 1] - '0')];
            if (d > 2)
                ans += (s[d - 3] - '0') * v[100];
        }
        out << ans << '\n';
    }
}