Pagini recente » Cod sursa (job #442524) | Cod sursa (job #2954142) | Cod sursa (job #2925299) | Cod sursa (job #1914461) | Cod sursa (job #1300460)
#include <fstream>
#include <string.h>
#include <iostream>
using namespace std;
#define ull unsigned long long
ull pow(ull base, ull power, ull modulus);
int main()
{
int T, i;
char N[101];
int a[100];
a[0] = 0;
for (i = 1; i < 100; i++)
a[i] = (a[i - 1] + pow(i, i, 10)) % 10;
int nr;
ifstream f("cifra.in");
ofstream g("cifra.out");
f >> T;
for (i = 0; i < T; i++)
{
f >> N;
if (strlen(N) > 1)
nr = (N[strlen(N) - 2] -'0') * 10 + (N[strlen(N) - 1] - '0');
else
nr = N[strlen(N) - 1] - '0';
g << a[nr % 100] << '\n';
}
f.close();
g.close();
return 0;
}
ull pow(ull base, ull power, ull modulus)
{
ull result = 1;
while (power > 0)
{
if (power & 1)
result = ((result % modulus) * (base % modulus)) % modulus;
power >>= 1;
base = ((base % modulus) * (base % modulus)) % modulus;
}
return result;
}