Cod sursa(job #1303176)

Utilizator costty94Duica Costinel costty94 Data 27 decembrie 2014 18:14:43
Problema Cifra Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <cstring>

using namespace std;

int a[101];
int i, t, ultima, penultima;
char s[250];

int power(int x)
{
	int p = 1, k = x;
	while (x != 0)
	{
		if (x % 2 == 1)
			p = p * k % 10;
		k = k * k % 10;
		x = x / 2;
	}
	return p;
}
int main()
{
	ifstream f("cifra.in");
	ofstream g("cifra.out");

	for (i = 1; i <= 100; i++)
	{
		a[i] = (a[i - 1] + power(i)) % 10;
	}
	f >> t;
	
	for (i = 1; i <= t; i++)
	{
		f >> s;
		if (strlen(s) > 1)
		{	
			penultima = s[strlen(s) - 2] - '0';
			penultima = penultima * 10;
			ultima = s[strlen(s) - 1] - '0';
			g << a[(ultima + penultima) % 100 ] << endl;
		}
		else
		{
			ultima = s[strlen(s) - 1] - '0';
			g << a[ultima % 100] << endl;
		}
	}
	return 0;
}