Cod sursa(job #776868)

Utilizator dobrebogdanDobre Bogdan Mihai dobrebogdan Data 10 august 2012 16:07:52
Problema Cifra Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<stdio.h>
#include<math.h>
#include<string.h>
char a[110];
int b[110];
int main()
{
	freopen("cifra.in","r",stdin);
	freopen("cifra.out","w",stdout);
	int t,i,n,a1,a2,j,z,s,m;
	scanf("%d",&t);
	gets(a);//1+4+7+6+5+6+3+6+9=7
	//1+6+3+6+5+6+7+4+9=7
	for(i=1;i<=t;i++)
	{
		s=0;
		gets(a);
		n=strlen(a);
		if(n>=2)
		{
		j=a[n-1]-48;
	    z=(a[n-2]-48)*10+a[n-1]-48;
		m=z;
		z=z%4;
		if(z==0)
			z=4;
		do
		{
			s=s+pow(j,z);
			s=s%10;
			j--;
			z--;
			m--;
			if(z==0)
				z=4;
			if(j==-1)
				j=9;
		}while(m!=0);
		}
		else
		{
			do
			{
				j=a[0]%4;
				if(j==0)
					j=4;
			s=s+pow(a[0]-48,j);
			s=s%10;
			a[0]--;
			}while(a[0]!=48);
		}
		printf("%d\n",s);
	}
	return 0;
}