Cod sursa(job #20011)

Utilizator szakiold name szaki Data 20 februarie 2007 16:17:40
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>

void test()
{
	clrscr();
	long a = 0;
	//freopen("cifra.out", "w",stdout);
	for (int i = 1; i <= 25; i++)
	{
		if (i%10)
		{
			a += (long)(pow(i%10,i%10)) % 10;
			a %= 10;
		}
		printf("%d,", a);
	}
	printf("\n");
	for (i = 101; i <= 200; i++)
	{
		if (i%10)
		{
			a += (long)(pow(i%10,i%10)) % 10;
			a %= 10;
		}
		printf("%d,", a);
	}
//	getch();
	exit(0);
}

int main()
{
	int t[200]={0,1,5,2,8,3,9,2,8,7,7,8,2,9,5,0,6,9,5,4,4,5,9,6,2,7,3,6,2,1,1,2,6,3,9,4,0,3,9,8,8,9,3,0,6,1,7,0,6,5,5,6,0,7,3,8,4,7,3,2,2,3,7,4,0,5,1,4,0,9,9,0,4,1,7,2,8,1,7,6,6,7,1,8,4,9,5,8,4,3,3,4,8,5,1,6,2,5,1,0};
	char x[200], *c;
	int n,i,j,s;

	test();

	FILE *fin  = fopen("cifra.in", "r");
	FILE *fout = fopen("cifra.out", "w");

//	clrscr();
	fscanf(fin,"%d\n", &n);
	for (i = 0; i < n ;i++)
	{
		for (x[j=0]=fgetc(fin); x[j]!='\n' && !feof(fin); x[++j]=fgetc(fin));
		//fgets(x,200,fin);
		//j = strlen(x);
		//if (x[j-1] == '\n') j--;
		if (j == 1) fprintf(fout,"%d\n", t[x[0]-'0']);
		else if (j >= 2)
		{
			s = 10*(x[j-2]-'0')+(x[j-1]-'0');
			fprintf(fout,"%d\n", t[s]);
		}
	}

//	getch();
	return 0;
}