Cod sursa(job #594989)

Utilizator DanutSavuSavu Daniel DanutSavu Data 10 iunie 2011 18:21:38
Problema Cifra Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
#include <string.h>
int Cifra(int i)
{
	int c = 1, j;
	if(i > 1)
	{
		for(j = 0; j < i; j++)
			c = (c * i % 10) % 10;
		c = (c + Cifra(i - 1)) % 10;
	}
	return c;
}
int main()
{
	FILE *fin, *fout;
	int i, n = 100, T, lungimeNumar, index;
	int ultimaCifra[100] = {0};
	char numar[101];
	for(i = 1; i < n; i++)
	{
		//printf("%3d - %d\n", i, Cifra(i));
		ultimaCifra[i] = Cifra(i);
	}
	fin = fopen("cifra.in", "r");
	fout = fopen("cifra.out", "w");
	fscanf(fin, "%d", &T);
	for(i = 0; i < T; i++)
	{
		fscanf(fin, "%s", numar);
		lungimeNumar = strlen(numar);
		if(lungimeNumar == 1)
			index = numar[0] - '0';
		else
			index = 10 * (numar[lungimeNumar - 2] - '0')+
			(numar[lungimeNumar - 1] - '0');
		fprintf(fout, "%d\n", ultimaCifra[index]);
	}
	fclose(fin);
	fclose(fout);
	return 0;
}