Cod sursa(job #3136048)

Utilizator sandu_stefanSandu Stefan sandu_stefan Data 5 iunie 2023 12:06:34
Problema Cifra Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;
ifstream f("cifra.in");
ofstream g("cifra.out");
int u[102];
int ucif(int n){
    int uc=n%10,
        r=n%4,
        p=1;
    if (!r){
        r=4;
    }
    while (r--){
        p*=uc;
    }
    return p%10;
}
void precalcul(){
    for (int i=1;i<100;i++){
        u[i]=(u[i-1]+ucif(i))%10;
    }
}
/**
void test(){
    int s=0;
    for (int i=1;i<=100;i++){
        s+=ucif(i);
    }
    cout<<s%10<<' ';
}
*/
int main()
{
    int t,ncif,rest;
    char sir[102];
    precalcul();
    f>>t;
    while (t--){
        f>>sir;
        ncif=strlen(sir);
        rest=sir[ncif-1]-'0';
        if (ncif>=2){
            rest+=(sir[ncif-2]-'0')*10;
        }
        g<<u[rest]<<'\n';
    }
    f.close();
    g.close();
    return 0;
}