Cod sursa(job #3276838)

Utilizator dariuseranDelca Darius dariuseran Data 14 februarie 2025 20:00:10
Problema Cifra Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <string>
#include <cmath>

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
    int result = 1;
    for (int i = 0; i < exponent; i++) {
        result = (result * base) % 10;
    }
    return result;
}

int main() {
    int T;
    fin >> T;
    while (T--) {
        string N;
        fin >> N;
        
        int sumLastDigit = 0;
        for (int i = 1; i <= 9; i++) {
            int exponent = (N.length() == 1) ? (N[0] - '0') : (((N[N.length()-2] - '0') * 10 + (N[N.length()-1] - '0')) % 4) + 1;
            sumLastDigit = (sumLastDigit + getLastDigitOfPower(i, exponent)) % 10;
        }
        fout << sumLastDigit << "\n";
    }
    return 0;
}