Pagini recente » Cod sursa (job #679458) | Cod sursa (job #3148877) | Borderou de evaluare (job #2012151) | Borderou de evaluare (job #1098982) | Cod sursa (job #515662)
Cod sursa(job #515662)
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <string>
#include <math.h>
using namespace std;
short mod_pow(long long a, long long p) {
if (p == 1) return a;
if (p == 0) return 1;
int r = (p & 1) ? a : 1;
int v = mod_pow(a, p >> 1);
return (r * v * v) % 10;
}
int main() {
ifstream in("cifra.in");
ofstream out("cifra.out");
int n;
in >> n;
int rest[100];
long long t = 0;
for (long long i = 1; i <= 100; i++) {
t += mod_pow(i % 10, i);
t %= 10;
rest[i - 1] = t;
}
for (int i = 0; i < n; i++) {
string s;
in >> s;
int r = atoi(s.substr(s.length() >= 2 ? s.length() - 2 : 0).c_str());
if (r == 0) r = 100;
cout << rest[r - 1] << endl;
out << rest[r - 1] << endl;
}
return 0;
}