Cod sursa(job #702619)

Utilizator IronWingVlad Paunescu IronWing Data 2 martie 2012 00:43:14
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
#include <cstring>

void precompute(int *u){
	int i = 1, j, mod4, term, term_i;
	u[1] = 1;
	for(i = 2; i < 100; ++i){
		mod4 = i % 4;
		if(mod4 == 0){
			mod4 = 4;
		}
		term = term_i = i % 10;
		for (j = 2; j <= mod4; ++j){
			term = (term * term_i) % 10;
		}
		u[i] = (u[i-1] + term) % 10;
	}
}

int main(){
	freopen("cifra.in", "r", stdin);
	freopen("cifra.out", "w", stdout);
	int t, i, c1, c2, len, u[102];
	char s[102];

	/* first, precompute the values for the first 1 - 99 elements */
	precompute(u);
	scanf("%d", &t);
	for(i = 0; i < t; ++i) {
		scanf("%s", s);
		len = strlen(s);
		if(len == 1){
			c1 = 0;
			c2 = s[len-1] - '0';
		}
		else{
			c1 = s[len-2] - '0';
			c2 = s[len-1] - '0';
		}
		printf("%d\n", u[c1 * 10 + c2]);
	}
	fclose(stdin);
	fclose(stdout);

	return 0;
}