Cod sursa(job #359419)

Utilizator digital_phreakMolache Andrei digital_phreak Data 26 octombrie 2009 20:52:36
Problema Cifra Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;

int T,N;
char ttt[200];

ifstream fin("cifra.in");
ofstream fout("cifra.out");

int pow(int n,int p) {
	int res;
	if (p == 0) return 1;
	if (p == 1) return n;
	if ((p % 2) == 0) {
		res = pow(n,p/2);
		return res*res;
	} else
		return n*pow(n,p-1);
}

int main() {
	
	int i,res,p;
	
	fin >> T;
	
	int cif[100] = {1,5,2,8,3,9,2,8,7,7,8,4,7,3,8,4,1,5,4,4,5,9,6,2,7,3,6,2,1,1,2,8,1,7,2,8,5,9,8,8,9,3,0,6,1,7,0,6,5,5,6,2,5,1,6,2,9,3,2,2,3,7,4,0,5,1,4,0,9,9,0,6,9,5,0,6,3,7,6,6,7,1,8,4,9,5,8,4,3,3,4,0,3,9,4,0,7,1,0,0};
	
	for (;T;T--) {
		memset(ttt,0,sizeof(ttt));
		fin >> ttt;
		res = 0;
		/*
		for (i=1;i<=(ttt[strlen(ttt)-1] - '0');++i) {
			res += pow(i,i) % 10;
			res = res % 10;
		}*/
		p = ttt[strlen(ttt)-1] - '0';
		if (strlen(ttt) > 1) p = (ttt[strlen(ttt)-2] - '0') * 10 + p;
		res = cif[p-1];
		fout << res << endl;
	}
	
	fin.close();
	fout.close();
	
	return 0;
}