Cod sursa(job #811076)

Utilizator dariusdariusMarian Darius dariusdarius Data 11 noiembrie 2012 14:40:53
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
#include<math.h>
#include<string.h>
char a[110];
int last[110];
int main()
{
	freopen("cifra.in","r",stdin);
	freopen("cifra.out","w",stdout);
	int t,i,n,j,nameless_val;
	//last[i]= U(i^i)
	for(i=1;i<=99;i++)
	{
		last[i]=1;
		for(j=1;j<=i;j++)
			last[i]=(last[i]*i)%10;
	}
	//last[i] devine U(1^1 + 2^2 + 3^3 + ... + i^i)
	for(i=1;i<=99;i++)
	{
		last[i]=last[i]+last[i-1];
		if(last[i]>=10)
			last[i]=last[i]-10;
	}
	//daca iau doar ultima cifra in considerare, dracu stie de ce nu merge, asa ca le iau pe ultimele 2
	scanf("%d\n",&t);
	for(i=1;i<=t;i++)
	{
		gets(a);
		n=strlen(a);
		if(n>1)
			nameless_val=(a[n-1]-'0')*10+a[n]-'0';
		else
			nameless_val=a[n-1]-'0';
		printf("%d\n",last[nameless_val]);
	}
	return 0;
}