Cod sursa(job #1854746)

Utilizator sli1987Marin Cristian sli1987 Data 23 ianuarie 2017 10:54:21
Problema Cifra Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
    ifstream in ("cifra.in");
    short T;
    in >> T;
    string temp;
    int numE, sum;
    ofstream out ("cifra.out");
    const short sq[4] = {4, 6, 6, 4};
    const short cu[5] = {1, 7, 5, 3, 9};
    for (int i = 0; i < T; i++)
    {
        sum = 0;
        in >> temp;
        if ((int)temp.length() - 2 >= 0)
            temp = temp.substr(temp.length() - 2);
        numE = atoi(temp.c_str());
        for (int j = 1; j <= numE % 10; j++)
        {
            cout << numE << ' ';
            if ((numE - numE % 10 + j) % 4 == 0)
                sum += 6;
            else if ((numE - numE % 10 + j) % 4 == 1)
                sum += j;
            else if ((numE - numE % 10 + j) % 4 == 2)
                sum += sq[j / 2 - 1];
            else if ((numE - numE % 10 + j) % 4 == 3)
                sum += cu[(j - 1) / 2];
            sum %= 10;
                cout << sum << ' ';
        } cout << endl;
        if (numE >= 10)
            out << (sum + 7 * (numE / 10)) % 10 << endl;
        else
            out << sum % 10 << endl;
    }
    in.close();
    out.close();
    return 0;
}