Cod sursa(job #1829882)

Utilizator NonstopNichita Emil Nicolae Nonstop Data 15 decembrie 2016 19:59:14
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
string nrString;
int T,size,lastDig,penLastDig,j,s;
ifstream f("Cifra.in");
ofstream g("Cifra.out");
int ipow(int base, int exp)
{
    int result = 1;
    while (exp)
    {
        if (exp & 1)
            result *= base;
        exp >>= 1;
        base *= base;
    }

    return result;
}
int main()
{
    f>>T;
    int v [] = {0,1,4,7,6,5,6,3,6,9,0,1,4,7,6,5,6,3,6,9};
    for(int i=0; i<T;i++) {
        f>>nrString;
        size = nrString.size();
        if(size==1) {
            lastDig = nrString[nrString.size()-1] - '0';
            for(j=0;j<=lastDig;j++) {
                s+=v[j];
            }
            g<<s%10<<'\n';
            s=0;
        }
        else {
            lastDig = nrString[nrString.size()-1] - '0';
            penLastDig = nrString[nrString.size()-2] - '0';
            for(j=0;j<=(lastDig+10*penLastDig)%20;j++) {
                s+=v[j];
            }
            g<<s%10<<'\n';
            s=0;

        }
    }
}