Cod sursa(job #772556)

Utilizator vlase.paulVlase Paul vlase.paul Data 30 iulie 2012 11:05:16
Problema Cifra Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_DIGITS 100

void generator( int digits[MAX_DIGITS] )
{
	int i, j;
	int p, s;

	s =  0;
	for ( i = 0; i < MAX_DIGITS; ++i ) {
		p = i;
		for ( j = 1; j < i; ++j ) {
			p = ( p * i ) % 10;
		}
		s = ( s + p ) % 10;
		digits[i] = s;
	}
}

int main( void )
{
	int T, i, len;
	char n[MAX_DIGITS];
	int digits[MAX_DIGITS], digit;

	freopen( "cifra.in", "r", stdin );
	freopen( "cifra.out", "w", stdout );

	scanf( "%d", &T );

	generator( digits );

	for ( i = 0; i < T; i++ ) {
		scanf( "%s", n );

		len = strlen( n );
		if ( len <= 1 ) {
			digit = digits[n[0] - '0'];
			printf( "%d\n", digit );
		} else {
			digit = digits[(n[len-2]-'0') * 10 + (n[len-1]-'0')];
			printf( "%d\n", digit );
		}
	}

	return EXIT_SUCCESS;
}