Cod sursa(job #2642399)

Utilizator luiz_felipeLuiz Felipe luiz_felipe Data 15 august 2020 04:55:05
Problema Cifra Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <vector>
using namespace std;
int maxim(int x, int y);
int putere(int a, int b);
string sir;
int main()
{
	ifstream f("cifra.in");
	ofstream g("cifra.out");
	vector<int>v(101);
	int T; f >> T;
	for (int i = 1; i < v.size(); i++) v[i] = v[i - 1] + putere(i, i);
	while (T--) {
		f >> sir;
		int k = sir.size(), x = 0;
		for (int i = maxim(0, k - 2); i < k; i++) x = x * 10 + (sir[i] - '0');
		int y = v[x] % 100;
		g << y % 10 << endl;
	}
	v.clear(); f.close(); g.close();
}
int putere(int a, int b)
{
	if (!a) return 0;
	if (a == 1 || !b) return 1;
	int rez = putere(a, b / 2);
	rez = (rez * rez) % 10;
	if (b & 1) rez = (rez * a) % 10;
	return rez % 10;
}
int maxim(int x, int y) {
	int maxi = x;
	if (maxi < y) maxi=y;
	return maxi;
}