Cod sursa(job #1197640)

Utilizator sYnceDAlin Cosmin sYnceD Data 13 iunie 2014 08:23:57
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<fstream>
#include<string>
using namespace std;

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

string nr;
int resturi[10][5], pre[100];

void calculeaza_resturi() {
    int i, j, x;
    for(i = 0; i < 10; i++) {
        x = 1;
        for(j = 1; j <= 4; j++) {
            x *= i;
            resturi[i][j] = x % 10;
        }
        resturi[i][0] = resturi[i][4];
    }
}

void calc_100() {
    int i;
    for(i = 1; i < 100; i++) {
        pre[i] = pre[i-1] + resturi[i%10][i%4];
    }
}

int main() {
    int t, it, len, n;
    calculeaza_resturi();
    calc_100();
    fin >> t;
    for(it = 0; it < t; it++) {
        fin >> nr;
        len = nr.length();
        if(len > 1) {
            n = (nr[len-2] - '0') * 10 + (nr[len-1] - '0');
        } else {
            n = nr[len-1] - '0';
        }
        fout << pre[n] % 10 << "\n";
    }
    return 0;
}