Cod sursa(job #612016)

Utilizator luckyme91wiz kid luckyme91 Data 5 septembrie 2011 14:31:11
Problema Cifra Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>
#include <string>
#include <math.h>
using namespace std;

int main () {

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

int t, i, j;
string numero;
in >> t;
int values[10][10] = {0 ,1 ,5 ,2 ,8 ,3 ,9 ,2 ,8 ,7 ,7 ,8 ,4 ,7 ,3 ,8 ,4 ,1 ,5 ,4 ,4 ,5 ,9 ,6,2 ,7 ,3 ,6 ,2 ,1 ,1 ,2 ,8 ,1 ,7 ,2 ,8 ,5 ,9 ,8 ,8 ,9 ,3 ,0 ,6 ,1 ,7 ,0 ,6 ,5 ,5 ,6 ,2 ,5 ,1 ,6 ,2 ,9 ,3 ,2 ,2 ,3 ,7 ,4 ,0 ,5 ,1 ,4 ,0 ,9 ,9 ,0 ,6 ,9 ,5 ,0 ,6 ,3 ,7 ,6 ,6 ,7 ,1 ,8 ,4 ,9 ,5 ,8 ,4 ,3 ,3 ,4,0 ,3 ,9 ,4 ,0 ,7 ,1 ,0};
/*int k = 0, last = 0, temp, l;
for (i = 0; i < 10;i++)
{
	for (j = 0; j < 10; j++)
	{	
		if (i != 0 || j != 0)
		{	temp = k % 10;
			if (temp == 0)
				values[i][j] = last;
			else
				values[i][j] = (last + (int)pow(temp, k)) % 10;
			last = values[i][j];
		}
		k++;
	}
}
*/
for (i = 0; i < t; i++)
{
	in >> numero;
	if (numero.size() < 2)
		out << values[0][numero[0] - '0'];
	else
		out << values[*(numero.rbegin() + 1) - '0'][*(numero.rbegin()) - '0'];
	out << endl;
}
return 0;
}