Cod sursa(job #426259)

Utilizator PavelPavel Ana-Oriana Pavel Data 26 martie 2010 17:43:54
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<fstream>
#include<cstring>

using namespace std;

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

int u[101];

int ultima(int x)
{
	int i, p = 1, b = x%10;
	if(x%4 == 0)
		x = 4;
	else
		x = x%4;
	for(i=1 ; i<=x ; ++i)//mergea si while(x--)
		p *= b;
	return p%10;
}

int numar(char s[101])
{
	int lung=strlen(s);
	if(lung == 1)
		return s[0] - '0';//scazand '0' obtin valoarea numerica asociata
	return (s[lung-2]-'0')*10+s[lung-1]-'0';
}

void calcul()
{
	int i;
	for(i=1 ; i<100 ; ++i)
		u[i] = (u[i-1] + ultima(i)) % 10;
}

int main()
{
	int t,n;
	char s[101];
	in>>t>>ws;
	calcul();
	while(t--)//verifica daca t e nenul si apoi il decrementeaza
	{
		in.getline(s,101);
		n = numar(s);
		out<<u[n]<<"\n";
	}
	return 0;
}