Cod sursa(job #240221)

Utilizator airineivAirinei Vasile airineiv Data 7 ianuarie 2009 00:17:15
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include "stdio.h"
#include "math.h"
#include "string.h"

int main(void)
{
	unsigned long long 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++)
	{
		values[i-1] = 0;
		for(int j=1; j<=i; j++)
			values[i-1] += ((unsigned long long)(pow((double)j, (double)j)))%10;
		values[i-1] = values[i-1]%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;
}