Cod sursa(job #330699)

Utilizator cezarbotolanbotolan cezar cezarbotolan Data 11 iulie 2009 11:52:22
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<cstdio>
#include<cstring>

const int N=101;

int citire()
{
	char s[N];
	int n;
	scanf("%s\n",s);
	n=strlen(s);
	if(n==1)
		return s[0]-'0';
	return s[n-1]-'0' + 10 * (s[n-2] - '0');
}

int pow(int a,int n)
{
	if(n%4==0)
		n=4;
	else
		n%=4;
	int p=1;
	while(n--)
		p*=a;
	return p%10;
}

int calcul(int n)
{
	int rez=n/20*4%10,r=n%20;
	for(int i=1 ; i<=r ; ++i)
		rez+=pow(i%10,i);
	return rez%10;
}

int main()
{
	freopen("cifra.in","r",stdin);
	freopen("cifra.out","w",stdout);
	int n,t;
	scanf("%d\n",&t);
	while(t--)
	{
		n=citire();
		printf("%d\n",calcul(n));
	}
	return 0;
}