Pagini recente » Cod sursa (job #2385074) | Cod sursa (job #1749298) | Cod sursa (job #2775353) | Statistici UPIT Cutesi Dragulea Dragulea (CatalinCM) | Cod sursa (job #3177047)
#include <fstream>
#include <string>
#pragma GCC optimize("Ofast,unroll-loops")
#pragma GCC target("sse,avx,fma,avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
ifstream cin("cifra.in");
ofstream cout("cifra.out");
int exp(int base, int power) {
int ans = 1;
while (power) {
if (power & 1)
ans = (ans * base) % 10;
base = (base * base) % 10;
power >>= 1;
}
return ans;
}
void solve() {
int last_digit[10][4];
for (int i = 0; i < 10; ++i)
for (int j = 0; j < 4; ++j)
last_digit[i][j] = exp(i, j + 4);
string str;
getline(cin, str);
while (!str.empty() && !isdigit(str.back()))
str.pop_back();
int n = 0;
if (str.size() == 1) {
n = str[0] - '0';
} else {
n = (str.back() - '0') + 10 * (str[str.size() - 2] - '0');
}
int sum = 0;
for (int i = 1; i <= n; ++i)
sum = (sum + last_digit[i % 10][i % 4]) % 10;
cout << sum << endl;
}
int main() {
int t = 1;
cin >> t;
string aux;
getline(cin, aux);
while (t--)
solve();
return 0;
}