Cod sursa(job #480471)

Utilizator ovydewParvu Ovidiu ovydew Data 28 august 2010 00:17:45
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
// Ultima cifra

#include <fstream>

using namespace std;

int ultima(int n) {
	int u = 1;
	for (int i=1; i<=n; i++) {
		u *= n;
		u %= 10;
	}
	return u;
}

int main() {
	FILE* fin = fopen("cifra.in","r");
	FILE* fout = fopen("cifra.out","w");
	int t, u, n, len;
	char* buffer = new char[101];
	int* vector = new int[20];
	for (int i=1; i<20; i++) {
		vector[i-1] =  ultima(i);
	}
	fscanf(fin, "%d", &t);
	for (int i=0; i<t; i++) {
		u = 0;
		fscanf(fin, "%s", buffer);
		len = strlen(buffer);
		if (len > 2) {
			n = atoi(&buffer[len-2]);
		} else if (len==2) {
			n = atoi(&buffer[1]);
		} else
			n = atoi(&buffer[0]);
		for (int j=0; j<n; j++) {
			u += vector[j%20];
		}
		u %= 10;
		fprintf(fout, "%d\n", u);
	}
    return 0;
}