Cod sursa(job #1435224)

Utilizator CTI_KnightCir Constantin CTI_Knight Data 12 mai 2015 15:26:26
Problema Cifra Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.51 kb
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
int a[100];
int main()
{
    int t,i,n;
    ifstream f("cifra.in");
    ofstream g("cifra.out");
    char v[100];
    f>>t;
    a[0]=0;
    for(i=1;i<=99;i++)
        {if(i%10==0) a[i]=0;
        else
        if(i%10==1) a[i]=1;
        else
        if(i%10==2)
            {if(i%4==0) a[i]=6;
                else if(i%4==1) a[i]=2;
                else if(i%4==2) a[i]=4;
                else a[i]=8;}
        else
        if(i%10==3)
            {if(i%4==0) a[i]=1;
                else if(i%4==1) a[i]=3;
                else if(i%4==2) a[i]=9;
                else a[i]=7;}
        else
        if(i%10==4)
            if(i%2==0) a[i]=6;
                else a[i]=4;
        else if(i%10==5) a[i]=5;
        else if(i%10==6) a[i]=6;
        else
        if(i%10==7)
            {if(i%4==0) a[i]=1;
                else if(i%4==1) a[i]=7;
                else if(i%4==2) a[i]=9;
                else a[i]=3;}
        else
        if(i%10==8)
            {if(i%4==0) a[i]=6;
                else if(i%4==1) a[i]=8;
                else if(i%4==2) a[i]=4;
                else a[i]=2;}
        else
               if(i%2==0) a[i]=1;
                else a[i]=9;
        a[i]=(a[i]+a[i-1])%10;}
    for(i=0;i<t;i++)
        {f>>v;
        n=strlen(v);
        if(n>1)
            g<<a[(v[n-2]-'0')*10+(v[n-1]-'0')]<<endl;
            else g<<a[v[n-1]-'0']<<endl;}
    f.close();
    g.close();
    return 0;
}