Cod sursa(job #1490458)

Utilizator sabauandrei98Sabau Andrei sabauandrei98 Data 23 septembrie 2015 16:47:43
Problema Cifra Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <iostream>
#include <limits.h>
#include <cmath>
#include <string>
#include <stdio.h>
#include <algorithm>
#include <stdlib.h>
#include <vector>
#include <stack>
#include <map>
#include <fstream>
#include <list>
#include <queue>
#include <iomanip>
#include <deque>
#include <set>

using namespace std;

ifstream f("cifra.in");
ofstream g("cifra.out");

#define cin f
#define cout g

#define nMax 100001

int v1 [] = {0,1,4,7,6,5,6,3,6,9};
int v2 [] = {0,1,6,3,6,5,6,7,4,9};

int main()
{
    int t;
    cin>>t;

    for(int i = 1; i<=t; i++)
    {
        string x;
        cin >> x;

        if (x.size() == 1)
        {
            int ans = 0;
            for(int j = 1; j<= (x[0] - '0'); j++)
                ans += v1[j];

            cout<<ans%10<<endl;
        }
        else
        {
            int unitati = x[x.size()-1] - '0';
            int zeci = x[x.size()-2] - '0';
            int ans =  zeci * 47;

            for(int j = 1; j <= unitati; j++)
                if (zeci % 2 == 0)
                    ans += v1[j];
                else
                    ans += v2[j];

            cout<<ans%10<<endl;
        }
    }

    return 0;
}