Pagini recente » Cod sursa (job #1795348) | Cod sursa (job #2581765) | Cod sursa (job #1146260) | Cod sursa (job #1906085) | Cod sursa (job #2637971)
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
typedef long long ll;
const ll mod=1e9+7;
const int dx[] = {0, 1, 0, -1};
const int dy[] = {1, 0, -1, 0};
#define all(x) x.begin(),x.end()
#define allr(x) x.rbegin(),x.rend()
#define rc(x) return cout<<x<<"\n",0
#define sz(s) (int) s.size()
#define pb push_back
#define mp make_pair
#define fr first
#define sc second
#define PI 3.14159265358979
using namespace std;
ll t,dp[101];
ll ult_cif(ll n) { // formula matematica de baza
ll pw=1,k=0;
k=n%4;
if (!k)k=4;
for (int i=1; i<=k; i++) {
pw*=n;
}
return pw%10;
}
int main() {
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
ifstream cin("cifra.in");
ofstream cout("cifra.out");
cin >> t;
dp[0]=0;
for (int i=1; i<100; i++) {
dp[i]=dp[i-1]+ult_cif(i);
dp[i]%=10;
} // valorile ultimei cifre ale puterilor se repeta din 100 in 100
while (t--) {
string n;
cin >> n;
ll nr;
if (sz(n)>1) {
nr=n[sz(n)-1]+10*n[sz(n)-2]-'0'*11;
}
else {
nr=n[sz(n)-1]-'0';
}
cout << dp[nr] << '\n';
}
}