Cod sursa(job #472518)

Utilizator c_adryanChitescu Adrian c_adryan Data 25 iulie 2010 14:54:36
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <stdlib.h>
#include <string.h>
int lastdigit[101];

void initlast(){
	int sum =0,i,j,c;
	for(i=1 ;i<=100;i++){
		c = 1;
		for(j=1;j<=i;j++)
			c  = (c*i)%10;
		sum +=c;
		sum%=10;
		lastdigit[i] = sum;
	}

}

int lastd(char *bignum){
	int num;
	if( strlen( bignum) < 3 )
		num = atol(bignum);
	else
		num = atol( bignum + (strlen(bignum)-2));
	
/*	int sum = 0, i , j,c	;
	for(i = 1; i <= num; i++){
		c = 1;
		for(j=1;j<=i;j++)
			c = (c*i)%10;
		sum += c;
		sum %= 10;
	}
*/
	return lastdigit[num];


}
int main(){
	freopen("cifra.in","r",stdin);
	freopen("cifra.out","w",stdout);
	int T;
	scanf("%d",&T);
	char n[102];
	initlast();
	for ( int i =1 ; i <= T; i++){
		scanf("%s",n);
		printf("%d\n",lastd(n));

	}	
	return 0;
}