Pagini recente » Cod sursa (job #458371) | Cod sursa (job #1357219) | Cod sursa (job #2748229) | Cod sursa (job #725623) | Cod sursa (job #2232944)
#include <iostream>
#include <fstream>
#include <cstring>
int rest[100];
char sir[150];
int n, num;
using namespace std;
int powm(int a, int b, int mod)
{
if(a == 0)
return 0;
int res = 1;
a %= mod;
while(b)
{
if(b & 1)
{
res = res * a % mod;
}
b = b >> 1;
a = a * a % mod;
}
return res % mod;
}
int main()
{
int sum = 0;
for(int i = 0; i <= 99; i++)
{
sum += powm(i, i, 10);
sum %= 10;
rest[i] = sum;
}
ifstream f("cifra.in");
ofstream g("cifra.out");
f >> n;
f.get();
for(int k = 0; k < n; ++k)
{
f >> sir;
if(strlen(sir) >= 2)
{
num = (sir[strlen(sir) - 1] - '0') + (sir[strlen(sir) - 2] - '0') * 10;
}
else
{
num = sir[0] - '0';
}
g << rest[num] << "\n";
}
f.close();
g.close();
}