Cod sursa(job #2828858)

Utilizator fanevodaCalota Stefan fanevoda Data 8 ianuarie 2022 01:38:15
Problema Cifra Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.13 kb

#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;

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

int main()
{

    int n;
    int v[101];
    v[0]=0;
    for (int i=1;i<=100;i++)
    {
        v[i]=1;
        for (int j=1;j<=i;j++)
        {
            v[i]=v[i]*i;
            v[i]=v[i]%10;
        }
    }


    for (int i=2;i<=100;i++)
    {
        v[i]+=v[i-1];
        v[i]=v[i]%10;
    }
/*
    int ultcifra[12];
    ultcifra[0]=0;
    ultcifra[1]=7;
    for (int i=2;i<=11;i++)
    {
        ultcifra[i]+=ultcifra[i-1];
        ultcifra[i]=ultcifra[i]%10;
    }
*/

    in >>n;

    for (int i=1;i<=n;i++)
    {
        int s=0;
        string numar;
        in >> numar;
        int a = (int) numar[numar.size()-1]-48;
        if (numar.size()>1)
        {
        numar.pop_back();
        int b = (int) numar[numar.size()-1]-48;
        a+=b*10;
        }

        out <<v[a]<<endl;

    }


// trebuie sa fac suma doar pe ultimele 100 de numere deoarece suma pe 10 este de 49 si inmultita cu 10 da un 0 la final care nu afecteaza raspunsul

}