Cod sursa(job #442481)

Utilizator Bit_MasterAlexandru-Iancu Caragicu Bit_Master Data 14 aprilie 2010 17:07:56
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.24 kb
#include <iostream>

const int S = 101;

short rasp[99];
char s[S],l;

int p(int cifra, int putere)
{
	int rez = 1;
	for (int i = 1; i <= putere; ++i)
		rez = (rez*cifra)%10;
	return rez;
}

void pregenerare()
{
	rasp[0] = 0;
	rasp[1] = 1;
	rasp[2] = 5;
	rasp[3] = 2;
	rasp[4] = 8;
	rasp[5] = 3;
	rasp[6] = 9;
	rasp[7] = 2;
	rasp[8] = 8;
	rasp[9] = 7;
	rasp[10] = 7;
	rasp[11] = 8;
	rasp[12] = 4;
	rasp[13] = 7;
	rasp[14] = 3;
	rasp[15] = 8;
	rasp[16] = 4;
	rasp[17] = 1;
	rasp[18] = 5;
	rasp[19] = 4;
	rasp[20] = 4;
	rasp[21] = 5;
	rasp[22] = 9;
	rasp[23] = 6;
	rasp[24] = 2;
	rasp[25] = 7;
	rasp[26] = 3;
	rasp[27] = 6;
	rasp[28] = 2;
	rasp[29] = 1;
	rasp[30] = 1;
	rasp[31] = 2;
	rasp[32] = 8;
	rasp[33] = 1;
	rasp[34] = 7;
	rasp[35] = 2;
	rasp[36] = 8;
	rasp[37] = 5;
	rasp[38] = 9;
	rasp[39] = 8;
	rasp[40] = 8;
	rasp[41] = 9;
	rasp[42] = 3;
	rasp[43] = 0;
	rasp[44] = 6;
	rasp[45] = 1;
	rasp[46] = 7;
	rasp[47] = 0;
	rasp[48] = 6;
	rasp[49] = 5;
	rasp[50] = 5;
	rasp[51] = 6;
	rasp[52] = 2;
	rasp[53] = 5;
	rasp[54] = 1;
	rasp[55] = 6;
	rasp[56] = 2;
	rasp[57] = 9;
	rasp[58] = 3;
	rasp[59] = 2;
	rasp[60] = 2;
	rasp[61] = 3;
	rasp[62] = 7;
	rasp[63] = 4;
	rasp[64] = 0;
	rasp[65] = 5;
	rasp[66] = 1;
	rasp[67] = 4;
	rasp[68] = 0;
	rasp[69] = 9;
	rasp[70] = 9;
	rasp[71] = 0;
	rasp[72] = 6;
	rasp[73] = 9;
	rasp[74] = 5;
	rasp[75] = 0;
	rasp[76] = 6;
	rasp[77] = 3;
	rasp[78] = 7;
	rasp[79] = 6;
	rasp[80] = 6;
	rasp[81] = 7;
	rasp[82] = 1;
	rasp[83] = 8;
	rasp[84] = 4;
	rasp[85] = 9;
	rasp[86] = 5;
	rasp[87] = 8;
	rasp[88] = 4;
	rasp[89] = 3;
	rasp[90] = 3;
	rasp[91] = 4;
	rasp[92] = 0;
	rasp[93] = 3;
	rasp[94] = 9;
	rasp[95] = 4;
	rasp[96] = 0;
	rasp[97] = 7;
	rasp[98] = 1;
	rasp[99] = 0;
}

short u2cs()
{
	if (l == 1)
		return s[0] - '0';
	return (s[l-2] - '0') * 10 + s[l-1] - '0';
}

void calc_l()
{
	l = 0;
	while (s[l] != 0)
		++l;
}

void citire_si_raspundere()
{
	int t;
	scanf("%d\n",&t);
	for (int i = 1; i <= t; ++i)
	{
		gets(s);
		calc_l();
		printf("%d\n",rasp[u2cs()]);
	}
}

int main()
{
	freopen("cifra.in","r",stdin);
	freopen("cifra.out","w",stdout);
	pregenerare();
	citire_si_raspundere();
	return 0;
}