Cod sursa(job #1126635)

Utilizator hopingsteamMatraguna Mihai-Alexandru hopingsteam Data 27 februarie 2014 08:28:30
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 2 kb
#include    <iostream>
#include    <fstream>
using namespace std;

ifstream fin("cifra.in");
ofstream fout("cifra.out");

int ucif(int b, int p)
{
    switch(b)
    {
        case 0: return 0;
        case 1: return 1;
        case 2:
        {
            switch(p)
            {
                case 0: return 6;
                case 1: return 2;
                case 2: return 4;
                case 3: return 8;
            }
        }
        case 3:
        {
            switch(p)
            {
                case 0: return 1;
                case 1: return 3;
                case 2: return 9;
                case 3: return 7;
            }
        }
        case 4:
        {
            switch(p)
            {
                case 0: return 6;
                case 1: return 4;
            }
        }
        case 5: return 5;
        case 6: return 6;
        case 7:
        {
            switch(p)
            {
                case 0: return 1;
                case 1: return 7;
                case 2: return 9;
                case 3: return 3;
            }
        }
        case 8:
        {
            switch(p)
            {
                case 0: return 6;
                case 1: return 8;
                case 2: return 4;
                case 3: return 2;
            }
        }
        case 9:
        {
            switch(p)
            {
                case 0: return 1;
                case 1: return 9;
            }
        }
    }
}

int detrepeat(int b)
{
    switch(b)
    {
        case 0: return 1;
        case 1: return 1;
        case 2: return 4;
        case 3: return 4;
        case 4: return 2;
        case 5: return 1;
        case 6: return 1;
        case 7: return 4;
        case 8: return 4;
        case 9: return 2;
    }
}
int main()
{
    int a, S = 0;
    fin >> a;
    for(int i = 1; i <= a; i++)
    {
        //cout << i << " ^ " << i % detrepeat(i) << " = " << ucif(i,i % detrepeat(i)) << "\n";
        S = S + ucif(i,i % detrepeat(i));
    }
    fout << S;
    return 0;
}