Cod sursa(job #240233)

Utilizator airineivAirinei Vasile airineiv Data 7 ianuarie 2009 00:44:16
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include "stdio.h"
#include "math.h"
#include "string.h"

int LastDigit(int n)
{
	int res = 1;
	for(int i=0; i<n; i++)
	{
		res *= n;
		res = res %10;
	}
	return res;
}
int main(void)
{
	unsigned int values[100];
	FILE *in, *out;
	if((in = fopen("cifra.in", "r")) == NULL)
		return -1;
	if((out = fopen("cifra.out", "w")) == NULL)
		return -1;

	for(int i=1; i<=100; i++)
	{
		if(i==1) 
			values[i-1] = LastDigit(i);
		else
			values[i-1] = (values[i-2] + LastDigit(i))%10;
	}
	int T;
	fscanf(in, "%d\n", &T);
	for(int i=0; i<T; i++)
	{
		char str[101];
		fscanf(in, "%s\n", str);
		int l = strlen(str);
		if(l >= 2)
		{
			char dec[3];
			int val = 0;
			dec[0] = str[l-2];
			dec[1] = str[l-1];
			dec[2] = '\0';
			sscanf(dec, "%d", &val);
			fprintf(out, "%d\n", values[val-1]);
		}
		else
		{
			int val = 0;
			sscanf(str, "%d", &val);
			fprintf(out, "%d\n", values[val-1]);
		}
		
	}
	fclose(in);
	fclose(out);
	return 0;
}