Pagini recente » Cod sursa (job #222608) | Cod sursa (job #1381874) | Arhiva de probleme | Cod sursa (job #2258596) | Cod sursa (job #2331753)
//
// Created by dragos on 29.01.2019.
//
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int ultimaCifra(int n) {
int last = n % 10;
int mod = n % 4;
int sol = 1;
if (mod == 0) {
mod = 4;
}
for (int i = 0; i < mod; i++) {
sol *= last;
}
return sol % 10;
}
int n, nb;
string nbLong;
int main() {
fin >> n;
for (int i = 0; i < n; i++) {
fin >> nbLong;
int len = nbLong.size();
if (len > 1) {
nb = (nbLong[len - 2] - '0') * 10 + (nbLong[len - 1] - '0');
} else {
nb = (nbLong[len - 1] - '0');
}
int sol = 0;
switch (nb / 20 % 5) {
case 0:
sol = 0;
break;
case 1:
sol = 4;
break;
case 2:
sol = 8;
break;
case 3:
sol = 2;
break;
case 4:
sol = 6;
break;
}
for (int i = 1; i <= nb % 20; i++) {
sol += ultimaCifra(i);
}
fout << sol % 10 << "\n";
}
return 0;
}