Cod sursa(job #248083)

Utilizator marius_trandafirMarius Trandafir marius_trandafir Data 24 ianuarie 2009 20:06:51
Problema Cifra Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
#include <math.h>
int v[11]={1,5,2,8,3,9,2,8,7,7};
int main()
{
	int t,i,cif,uc,n,j;
	FILE *f,*g;
	f=fopen("cifra.in","r");
	g=fopen("cifra.out","w");
	fscanf(f,"%d",&t);
	for(i=0;i<t;i++)
	{
		fscanf(f,"%ld",&n);
		if(n<=10)
			fprintf(g,"%d\n",v[n-1]);
		else
		{
			cif=7; //ultima cifra 1^1 + 2^2 + ... + 10^10 = 7
			for(j=11;j<=n;j++)
				{
					uc=j%10;
					if(uc==0 || uc==1 || uc==5 || uc==6)
						cif+=uc;
					else
					{
						uc=j%4;
						if(!uc)
							uc=4;
						cif+=(int)pow(j%10,uc)%10;
					}
				}
			fprintf(g,"%d\n",cif%10);
		}
	}
	fclose(f);
	fclose(g);
	return 0;
}