Cod sursa(job #1284466)

Utilizator pitradaPit-Rada Ionel-Vasile pitrada Data 6 decembrie 2014 15:48:33
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<fstream>
#include<cstring>
using namespace std;
ifstream  fin("cifra.in");
ofstream fout("cifra.out");

int rest100(char a[200])
{
    int x, n, i;
    n=strlen(a);
    x=0;
    for(i=0;i<n;i++)
    {
        x=x*10+(a[i]-48);
        x=x%100;
    }
    return x;
}

int u(int n)
{
    //ultima cifra a lui n^n
    int cif=n%10, nr, p=1;
    nr=n%4;
    if(nr==0)nr=4;
    if(cif==0 || cif ==1 || cif==5 || cif==6)return cif;
    while(nr>0){p=(p*cif)%10;nr--;}
    return p;
}

int v[100];

int main()
{
    int T, i;
    char N[200];

    v[0]=0;
    for(i=1;i<=99;i++)
    {
       v[i]=(v[i-1]+u(i))%10;
    }
    fin>>T; fin.get();
    for(i=1;i<=T;i++)
    {
        fin.get(N,102,'\n');
        fin.get();
        fout<<v[rest100(N)]<<"\n";
    }
    fout.close();
    fin.close();
    return 0;
}