Cod sursa(job #346617)

Utilizator ncbllrNegrii Costin ncbllr Data 8 septembrie 2009 19:09:35
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <fstream>   
#include <string>   
  
using namespace std;   
  
int ultimacifra[100];   
  
int nc(int nr)   
{   
    int i;   
    int aux = 1;   
    for (i=0;i<nr;i++)   
    {   
        aux*=nr;   
        aux %= 10;   
    }   
    return aux;   
}   
  
void calcul()   
{   
    int i;   
    ultimacifra[1] = 1;   
    for (i=2;i<=99;i++)   
    {   
        ultimacifra[i] = (ultimacifra[i-1] + nc(i)) %10;   
    }   
}   
  
ifstream fin;   
ofstream fout;   
  
int main()   
{   
    fin.open("cifra.in");   
    fout.open("cifra.out");   
    int n,i,nr;   
    fin >> n;   
    calcul();   
    string s;   
    for (i=0;i<n;i++)   
    {   
        fin >> s;   
        if (s.size() == 1)   
        {   
            fout << ultimacifra[s[0]-'0'] << "\n";   
        }   
        else  
        {   
            nr = s[s.length()-2] - '0';   
            nr*=10;   
            nr +=s[s.length()-1] - '0';   
            fout << ultimacifra[nr] << "\n";   
        }   
    }   
    fin.close();   
    fout.close();   
    return 0;   
}