Cod sursa(job #733383)

Utilizator OrionDicu Mihai George Orion Data 11 aprilie 2012 22:41:23
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include<stdio.h>
#include<math.h>
#include<string.h>
FILE *fin=fopen("cifra.in.txt", "r");
FILE *fout=fopen("cifra.out.txt", "w");
//1.vector v cu valori deja calculate;
//int v[]={0,1,5,2,8,3,9,2,8,7,7,8,4,7,3,8,4,1,5,4}; 
int v[100]; //vector v gol;
char x[102];
int main()
{
	int i,n,t,k,y,j;
	k=0;
	//calculam valorile vectorului v - resulting same as v i=1...99 pentru ca ultimele cifre fiecarui calcul se repeta din 100 in 100
	//odata ce avem vectorul celor 100 posibilitati, problema devine usoara
	for (i=1; i<=99; i++)
	{
		y=1;
		for (j=1; j<=i; j++)
		{
			y*=i;
			y%=10;
		}
		k+=y;
		v[i]=k%10;
		k%=10;
	}
	//---
	fscanf(fin, "%d", &t);
	for (i=1; i<=t; i++)
	{
		k=0;
		fscanf(fin,"%s", x);
		n=strlen(x);
		if (n>=2)
			k=((x[n-2])-'0')*10+(x[n-1])-'0'; //k tine doar ultimele 2 cifre
		else
			k=x[0]-'0'; // caz ca are doar o cifra, o pastram pe aia
		fprintf(fout,"%d\n", v[k]);  
		
	}
	fclose(fin);
	fclose(fout);
	return 0;
}