Pagini recente » Cod sursa (job #2765518) | Cod sursa (job #2091717) | Cod sursa (job #639382) | Cod sursa (job #3227794) | Cod sursa (job #3276837)
#include <fstream>
#include <cmath>
#include <string>
using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int getLastDigitOfPower(int base, int exponent) {
if (exponent == 0) return 1; // orice număr la puterea 0 este 1
return (int)pow(base, exponent) % 10; // folosim funcția pow și mod 10 pentru a obține ultima cifră
}
int main() {
int T;
fin >> T;
while (T--) {
string N;
fin >> N;
int sumLastDigit = 0;
// Calculăm suma Gauss de puteri
for (int i = 1; i <= 9; i++) {
int exponent;
if (N.length() == 1) {
exponent = N[0] - '0'; // dacă N are un singur caracter, folosim direct valoarea acestuia
} else {
exponent = ((N[N.length()-2] - '0') * 10 + (N[N.length()-1] - '0')) % 4;
if (exponent == 0) exponent = 4; // Dacă exponentul este 0, îl considerăm 4, pentru că ciclul începe de la 1
}
sumLastDigit = (sumLastDigit + getLastDigitOfPower(i, exponent)) % 10;
}
fout << sumLastDigit << "\n";
}
return 0;
}