Cod sursa(job #2067074)

Utilizator TheSlorrow44Tudose George Stefan TheSlorrow44 Data 15 noiembrie 2017 20:04:36
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.01 kb
#include <iostream>
#include <fstream>

using namespace std;

int UltimaCifra(int a);
int main()
{
    int T,S=0,N,constant[100];
    ifstream in("cifra.in");
    ofstream out("cifra.out");
    in>>T;
    for(int i=1; i<=100; i++)
    {
        for(int j=1; j<=i; j++)
        {
            S=S+UltimaCifra(j);
        }
        constant[i-1]=S%10;

        S=0;
    }
    while(in>>N)
    {
        switch(N%100){
        case 0:cout<<constant[99]<<"\n";
               break;
        default:cout<<constant[N%100-1]<<"\n";
                break;
        }
    }
    in.close();
    out.close();


    return 0;
}
int UltimaCifra(int a)
{
    switch(a%10)
    {
        case 0:return 0;break;
        case 1:return 1;break;
        case 2:switch(a%4){
                case 1:return 2;break;
                case 2:return 4;break;
                case 3:return 8;break;
                case 0:return 6;break;
                }
                break;
        case 3:switch(a%4){
                case 1:return 3;break;
                case 2:return 9;break;
                case 3:return 7;break;
                case 0:return 1;break;
                }
               break;
        case 4:switch(a%2){
                case 0:return 6;break;
                case 1:return 4;break;
               }
               break;
        case 5:return 5;break;
        case 6:return 6;break;
        case 7:switch(a%4){
                case 1:return 7;break;
                case 2:return 9;break;
                case 3:return 3;break;
                case 0:return 1;break;
               }
               break;
        case 8:switch(a%4){
                case 1:return 8;break;
                case 2:return 4;break;
                case 3:return 2;break;
                case 0:return 6;break;
               }
               break;
       case 9:switch(a%2){
              case 0:return 1;break;
              case 1:return 9;break;
              }
              break;
    }
}