Pagini recente » Cod sursa (job #408510) | Cod sursa (job #158807) | Cod sursa (job #1140404) | Cod sursa (job #32036) | Cod sursa (job #2227160)
#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.getline(sir, 100);
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();
}