Cod sursa(job #135211)

Utilizator AthanaricCirith Gorgor Athanaric Data 13 februarie 2008 12:31:00
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <stdio.h>
#include <string.h>
int main()
{
	int lung,n,i,k,z,j,bogatu,tache;
	long v[20];
	v[1]=1;
	for (i=2; i<=20; i++)
	{
	 z=1;
	 for (j=1; j<=i; j++)
	 {
		z=z*i;
		if (z>10)
			z=z%10;
	 }
	v[i]=z%10;
	}

	freopen("cifra.in","r",stdin);
	freopen("cifra.out","w",stdout);
	char s[101];
	scanf("%d\n",&n);
	for (i=1; i<=n; i++)
	{
		gets(s);
		lung=strlen(s);
		if (lung==1)
			k=s[0]-'0';
		else
			k=10*(s[lung-2]-'0')+(s[lung-1]-'0');

		bogatu=k/20;  tache=k%20;
		if (bogatu==0)
		printf("%d\n",v[k]);
		if (bogatu==1)
		printf("%d\n",(v[tache]+4)%10);
		if (bogatu==2)
		printf("%d\n",(v[tache]+8)%10);
		if (bogatu==3)
		printf("%d\n",(v[tache]+2)%10);
		if (bogatu==4)
		printf("%d\n",(v[tache]+6)%10);
	}
	return 0;
}