Cod sursa(job #1415722)

Utilizator SlevySlevoaca Stefan-Gabriel Slevy Data 5 aprilie 2015 23:08:15
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 3.5 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f("cifra.in");
ofstream g("cifra.out");
int t;
long long int n;
int uc=0;

void ucifra()
{
    int ultim;
    if(n%10==1)
        {
            uc++;
            uc=uc%10;
        }
    else
    if(n%10==2)
        {
           ultim=n%100;
            if(ultim%4==1)
            {
                uc+=2;
                uc=uc%10;
            }
            else
                if(ultim%4==2)
            {
                uc+=4;
                uc=uc%10;
            }
            else
            if(ultim%4==3)
            {
                uc+=8;
                uc=uc%10;
            }
            else
                if(ultim%4==0)
            {
                uc+=6;
                uc=uc%10;
            }
        }
    else
    if(n%10==3)
       {
            ultim=n%100;
            if(ultim%4==1)
            {
                uc+=3;
                uc=uc%10;
            }
            else
                if(ultim%4==2)
            {
                uc+=9;
                uc=uc%10;
            }
            else
            if(ultim%4==3)
            {
                uc+=7;
                uc=uc%10;
            }
            else
                if(ultim%4==0)
            {
                uc+=1;
                uc=uc%10;
            }
        }
    else
   if(n%10==4)
       {
           ultim=n%10;
           if(ultim%2==0)
           {
               uc+=6;
               uc=uc%10;
           }
           else
           {
               uc+=4;
               uc=uc%10;
           }
       }
    else
   if(n%10==5)
        {
            uc+=5;
            uc=uc%10;
        }
    else
    if(n%10==6)
        {
            uc+=6;
            uc=uc%10;
        }
    else
   if(n%10==7)
       {
            ultim=n%100;
            if(ultim%4==1)
            {
                uc+=7;
                uc=uc%10;
            }
            else
                if(ultim%4==2)
            {
                uc+=3;
                uc=uc%10;
            }
            else
            if(ultim%4==3)
            {
                uc+=9;
                uc=uc%10;
            }
            else
                if(ultim%4==0)
            {
                uc+=1;
                uc=uc%10;
            }
       }
    else
    if(n%10==8)
    {
         ultim=n%100;
            if(ultim%4==1)
            {
                uc+=8;
                uc=uc%10;
            }
            else
                if(ultim%4==2)
            {
                uc+=4;
                uc=uc%10;
            }
            else
            if(ultim%4==3)
            {
                uc+=2;
                uc=uc%10;
            }
            else
                if(ultim%4==0)
            {
                uc+=6;
                uc=uc%10;
            }
    }
    else
    if(n%10==9)
        {
           ultim=n%10;
           if(ultim%2==0)
           {
               uc+=1;
               uc=uc%10;
           }
           else
           {
               uc+=9;
               uc=uc%10;
           }
       }
}

int main()
{
    f>>t;
    for(int i=1;i<=t;i++)
    {
        f>>n;
        uc=0;
        long long int s=n;
        for(long long int j=1;j<=s;j++)
           {
            n=j;
            ucifra();
           }
        g<<uc<<endl;
    }
    f.close();
    g.close();
    return 0;
}