Pagini recente » Cod sursa (job #580728) | Cod sursa (job #1080573) | Cod sursa (job #38598) | Cod sursa (job #3121895) | Cod sursa (job #1403356)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("cifra.in");
ofstream g("cifra.out");
const int m = 100;
int a[m+1];
int lw(int v, int p)
{
if(p == 1)
return v%10;
if((p&1) == 0)
return lw(v*v%10,p/2)%10;
return v*lw(v*v%10,p/2)%10;
}
int main()
{
int o;
for(int i = 1; i <= 100; i++)
a[i] = (lw(i,i)%10+a[i-1])%10;
int n;
char s[m+1];
f >> n;
int l;
while(n > 0)
{
f >> s;
l = strlen(s);
if(l > 1)
g<< a[(s[l-2]-'0')*10+s[l-1]-'0'] << "\n";
else
g << a[s[0]-'0']%10 << "\n";
n--;
}
return 0;
}