Cod sursa(job #373615)

Utilizator veliki.velicuVelicu Stefan veliki.velicu Data 14 decembrie 2009 14:49:54
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
#include<iostream>
using namespace std;

int v[20];
ifstream in("cifra.in");
ofstream out("cifra.out");

int pow(int a)//calc ultima cifra a lui a la a
{
	int i, p=1;
	for(i = a; i; i--)
		p = p*a%10;
	return p;
}

void u_cif()
{
	int i;
	v[1] = 1;
	for(i=2; i<=19; i++)
		v[i]=(v[i-1]+pow(i))%10;
}

int citire()
{
	char s[110];
	in.getline(s, 110);
	int nr=strlen(s);
	if(nr == 1)
		return s[nr-1]-'0';
	return (s[nr-2]-'0')*10+s[nr-1]-'0';
}

int main()
{
	int i,t,n;
	u_cif();
	in>>t>>ws;
	for(i=0; i<t; i++)
	{
		n = citire();
		//cout<<n<<' ';
		out<<((n/20)*4+v[n%20])%10<<"\n";
	}
	return 0;
}