Cod sursa(job #2734365)

Utilizator As932Stanciu Andreea As932 Data 31 martie 2021 19:23:38
Problema Cifra Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("cifra.in");
ofstream fout("cifra.out");

int c[10][5], s[101];

void prec(){
    for(int i = 1; i <= 9; i++){
        c[i][1] = i;
        for(int j = 2; j <= 4; j++)
            c[i][j] = (c[i][j - 1] * i) % 10;
    }
}

int getS(int i){
    int r = i % 4;
    if(r == 0)
        r = 4;

    return c[i % 10][r];
}

void prec2(){
    for(int i = 1; i <= 100; i++)
        s[i] = (s[i - 1] + getS(i)) % 10;
}

void solve(){
    string nr;
    fin >> nr;

    //nr%100
    int r = 0;
    for(int i = max(0, (int)nr.size() - 2); i <= (int)nr.size() - 1; i++)
        r = r * 10 + nr[i] - '0';

    fout << s[r] << "\n";
}

void teste(){
    int t;
    fin >> t;

    while(t--)
        solve();
}

int main()
{
    prec();
    prec2();
    teste();

    return 0;
}