Cod sursa(job #728022)

Utilizator alexpascadiAlexandru Pascadi alexpascadi Data 28 martie 2012 14:09:33
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>

using namespace std;

char s[102];

//const int v[20]={0,1,4,7,6,5,6,3,6,9,0,1,6,5,6,7,4,9};
int sum[20];
int v[20];

void calculeaza()
{
    int i,j,pow;
    for(i=0;i<=19;i++)
    {
        pow=1;
        for(j=1;j<=i;j++) pow=pow*i%10;
        v[i]=pow;
    }
}

int main()
{
    ifstream f("cifra.in");
    ofstream g("cifra.out");
    int i,t,j,nr,div,cif,mod;

    calculeaza();

    sum[0]=0;

    for(i=1;i<=19;i++)
        sum[i]=(sum[i-1]+v[i])%10;

    f>>t>>ws;
    for(i=1;i<=t;i++)
    {
        j=0;
        f.getline(s,102);
        f>>ws;
        while(s[j]) j++;
        if(j!=1)
        {
            nr=(s[j-2]-'0')*10+s[j-1]-'0';
        }
        else
            nr=s[0]-'0';
        div=nr/20;
        mod=nr%20;
        cif=(div*4+sum[mod])%10;
        g<<cif<<"\n";
    }
    return 0;
}