Cod sursa(job #1965968)

Utilizator shantih1Alex S Hill shantih1 Data 14 aprilie 2017 19:44:59
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.4 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

unsigned int n, i, j, sum, k;
string s;

int main() {
    
    ifstream fin("cifra.in");
    ofstream fout("cifra.out");
	
    fin >> n;
	getline(fin, s);

    for (i = 1; i <= n; i++)
    {
		getline(fin, s);
		
		k = 0;
		for (j = 0; j < s.size(); j++)
			k = k * 10 + (s[j] - '0');
		
		k = k % 10;
		if (k == 0)		k = 9;
		
		sum = 0;
		for (j = 1; j <= k; j++)
		{
			if (j % 10 == 1)	sum += 1;
			else if (j % 10 == 2)
			{
				if (j % 4 == 1)		sum += 2;
				if (j % 4 == 2)		sum += 4;
				if (j % 4 == 3)		sum += 8;
				if (j % 4 == 0)		sum += 6;
			}
			else if (j % 10 == 3)
			{
				if (j % 4 == 1)		sum += 3;
				if (j % 4 == 2)		sum += 9;
				if (j % 4 == 3)		sum += 7;
				if (j % 4 == 0)		sum += 1;
			}
			else if (j % 10 == 4)
			{
				if (j % 2 == 1)		sum += 4;
				if (j % 2 == 0)		sum += 6;
			}
			else if (j % 10 == 5)	sum += 5;
			else if (j % 10 == 6)	sum += 6;
			else if (j % 10 == 7)
			{
				if (j % 4 == 1)		sum += 7;
				if (j % 4 == 2)		sum += 9;
				if (j % 4 == 3)		sum += 3;
				if (j % 4 == 0)		sum += 1;
			}
			else if (j % 10 == 8)
			{
				if (j % 4 == 1)		sum += 8;
				if (j % 4 == 2)		sum += 4;
				if (j % 4 == 3)		sum += 2;
				if (j % 4 == 0)		sum += 6;
			}
			else if (j % 10 == 9)
			{
				if (j % 2 == 1)		sum += 9;
				if (j % 2 == 0)		sum += 1;
			}
			sum = sum % 10;
		}
		fout << sum % 10 << "\n";
	}
}