Cod sursa(job #1731019)

Utilizator tamionvTamio Vesa Nakajima tamionv Data 18 iulie 2016 01:59:01
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>
using namespace std;

int exp_mod(int baza, int exp){
	int rez = 1;
	for( ; exp; exp /= 2, baza = (baza * baza) %10){
		if(exp&1){
			rez = (rez * baza) % 10; } }
	return rez; }

int main(){
	int precalc[101] = {};
	for(int i = 1; i <= 100; ++i){
		precalc[i] = (precalc[i-1] + exp_mod(i%10, i))%10; }
	precalc[0] = precalc[100];

	int t;
	ifstream f("cifra.in");
	ofstream g("cifra.out");

	f >> t;

	string str;
	for( ; t; --t){
		f >> str;
		if(str.size() == 1){
			g << precalc[str.back() -'0'] << '\n'; }
		else{
			g << precalc[str.back() - '0' + 10 * (str[str.size()-2] - '0')] << '\n'; } }

	return 0; }