Cod sursa(job #3312356)

Utilizator rapidu36Victor Manz rapidu36 Data 27 septembrie 2025 17:04:37
Problema Cifra Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>
#include <cstring>

using namespace std;

const int N = 100;

char s[N+1];

int u_cif_putere(int n)
{
    int a = n % 10;
    int p = 1;
    for (int i = 0; i < n; i++)
    {
        p *= a;
        p %= 10;
    }
    return p;
}

int u_cifra(char s[])
{
    int lung_s = strlen(s);
    int n;
    if (lung_s == 1)
    {
        n = s[0] - '0';
    }
    else
    {
        n = (s[lung_s-2] - '0') * 10 + (s[lung_s-1] - '0');
    }
    int suma = n / 20 * 4;
    suma %= 10;
    n %= 20;
    for (int i = 1; i <= n; i++)
    {
        suma += u_cif_putere(i);
        suma %= 10;
    }
    return suma;
}

int main()
{
    ifstream in("cifra.in");
    ofstream out("cifra.out");
    int t;
    in >> t;
    for (int i = 0; i < t; i++)
    {
        in >> s;
        out << u_cifra(s) << "\n";
    }
    in.close();
    out.close();
    return 0;
}