Cod sursa(job #1094834)

Utilizator A63N7pTudor Nazarie A63N7p Data 29 ianuarie 2014 21:42:58
Problema Cifra Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <cstring>
using namespace std;

ifstream in;
ofstream out;

int n, nr, l, a[105];
char s[105];

int pow(int k);
void calcul();

int main(int argc, char *argv[])
{
    in.open("cifra.in");
    out.open("cifra.out");
    calcul();
    in >> n;
    in.get();
    for (int i = 1; i <= n; ++i) {
        in.getline(s, 105);
        l = strlen(s);
        if (l > 1)
            nr = (s[l - 2] - '0') * 10 + s[l - 1] - '0';
        else
            nr = s[l - 1] - '0';
        out << a[nr] << endl;
    }
    in.close();
    out.close();
    return 0;
}

int pow(int k)
{
    int sol = 1;
    for (int i = 1; i <= k; ++i) {
        sol *= k;
        sol %=10;
    }
    return sol;
}

void calcul()
{
    for (int i = 1; i <= 100; ++i) {
        a[i] = a[i - 1] + pow(i);
        a[i] %= 10;
    }
}