Cod sursa(job #135943)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 14 februarie 2008 21:17:27
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>
#include <math.h>

int putere(int pn);

FILE* f;
FILE* s;

int t;
int v[9];
int n;

int main()
{
	f=fopen ("cifra.in","r");
	s=fopen ("cifra.out","w");

	v[1]=1;
	v[2]=4;
	v[3]=4;
	v[4]=2;
	v[5]=1;
	v[6]=1;
	v[7]=4;
	v[8]=4;
	v[9]=2;


	fscanf (f,"%d\n",&t);

	for (int i=0;i<t;i++)
	{
		fscanf (f,"%d\n",&n);

		int suma=0;
		for (int j=1;j<=n;j++)
			suma+=putere(j);

	   fprintf (s,"%d\n",suma%10);
	}

	fclose (f);
	fclose (s);

	return 0;
}

int putere(int pn)
{
	int numar=pn;
	int rezultat;
	int ultima=numar%10;
	int rest=numar%v[ultima];

	if (ultima!=0)
		if (rest!=0)
			rezultat=((int)pow(ultima,rest))%10;
		else
		   rezultat=((int)pow(ultima,v[ultima]))%10;
	else
		rezultat=0;

	return rezultat;
}