Pagini recente » Cod sursa (job #1042073) | Cod sursa (job #1323876) | Cod sursa (job #2765150) | Monitorul de evaluare | Cod sursa (job #1731019)
#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; }