Pagini recente » Cod sursa (job #1373425) | Cod sursa (job #1886063) | Cod sursa (job #1474249) | Diferente pentru problema/maimute intre reviziile 3 si 2 | Cod sursa (job #972144)
Cod sursa(job #972144)
#include <iostream>
#include <fstream>
#include <string.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
int i, j, k, n, out;
char t[100], u[2];
bool DEBUG = false;
int st[100];
int pow100(int p){
int p100 = p % 100;
for (i = 1; i < p; i ++){
p100 = p100 * (p % 100) % 100;
}
return p100;
}
void compute100(){
st[1] = 1;
for(i = 2; i <= 100; i++){
st[i] = st[i-1] + pow100 (i);
}
}
void print(){
cout << endl;
cout << "n: " << n << endl;
cout << endl;
}
void read(){
compute100();
int last2nr, last2nr100;
ifstream fi("cifra.in");
ofstream fo("cifra.out");
fi >> n;
for(i = 0; i < n; i ++){
last2nr = 0;
fi >> t;
if(strlen(t) > 1){
u[0] = t[strlen(t) - 2];
u[1] = t[strlen(t) - 1];
} else if (strlen(t) == 1) {
u[0] = t[strlen(t) - 1];
u[1] = '\0';
}
last2nr = atoi(u);
last2nr100 = st[last2nr] % 10;
fo << last2nr100 << endl;
}
fi.close();
fo.close();
}
int main(void){
read();
return 0;
}