Cod sursa(job #1306279)

Utilizator cautionPopescu Teodor caution Data 30 decembrie 2014 20:06:36
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.3 kb
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

int main()
{
    ifstream in("cifra.in");
    ofstream out("cifra.out");
    short t, ult, pult, rez;
    char s[200];
    in>>t;
    for(int i=0; i<t; ++i)
    {
        in>>s;
        rez=0;
        ult=strlen(s)-1;
        pult=ult-1;
        if(ult>0) pult=s[pult]-'0';
        else pult=0;
        ult=s[ult]-'0';
        rez+=pult*7;
        switch(ult)
        {
        case 0:
            break;
        case 1: rez+=1;
            break;
        case 2:
            if(pult%2) rez+=7;
            else rez+=5;
            break;
        case 3:
            if(pult%2) ;
            else rez+=2;
            break;
        case 4:
            if(pult%2) rez+=6;
            else rez+=8;
            break;
        case 5:
            if(pult%2) rez+=1;
            else rez+=3;
            break;
        case 6:
            if(pult%2) rez+=7;
            else rez+=9;
            break;
        case 7:
            if(pult%2) rez+=4;
            else rez+=2;
            break;
        case 8:
            rez+=8;
            break;
        case 9:
            rez+=7;
            break;
        }
        out<<rez%10<<'\n';
    }
    in.close(); out.close();
    return 0;
}