Cod sursa(job #111294)

Utilizator MegaheroDan Cearnau Megahero Data 29 noiembrie 2007 10:02:37
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<stdio.h>
#include<string.h>
#include<math.h>
int numar(char *n){
	int k=strlen(n);
	if(k==1)
		return (int)(n[0]-'0');
	return (int)((n[k-2]-'0')*10+(n[k-1]-'0'));
}
int putere(int);
int ultima(int w){
	int p,uc=0,e;
	for (p=1;p<=w;p++)
	{
		e=putere(p);
		uc=(uc+e)%10;
	}
	return uc;
}
int putere(int a)
{
	int p=1;
	for (int b=0;b<a;b++)
		p=p*a%10;
	return p;
}
int main()
{
	freopen("cifra.in","r",stdin);
	freopen("cifra.out","w",stdout);
	char n[101];
	int uc,q,w,k;
	scanf("%d",&k);
	for (int g=0;g<k;g++)
	{
		scanf("%s\n",n);
		q=numar(n);
		uc=(q/20)*4;
		w=q%20;
		/*
		for (i=t;i>t-w;i--)
			uc+=pow(atoi(n[i]),atoi(n[i]))%10;
		*/
		uc=(uc+ultima(w))%10;
		printf("%d\n",uc);
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}