Pagini recente » Cod sursa (job #1989569) | Cod sursa (job #337533) | Cod sursa (job #165909) | Cod sursa (job #183450) | Cod sursa (job #811072)
Cod sursa(job #811072)
#include <cstdio>
#include <cstring>
#include <math.h>
using namespace std;
char n [130];
long a [130];
long p [130];
long u (long x) {
long h,d;
h = x % 4;
x = x % 10;
if (h == 0)
h = 4;
d = pow (x , h);
return d % 10;
}
long impartire (long x [] , long imp) {
long i , d = 0 , r;
for (i = 1 ; i <= x [0] ; i ++) {
d = d * 10 + x [i];
if (d >= imp)
break;
}
i ++;
for ( ; i <= x [0] ; i ++) {
r = d % 100;
d = r *10 + x [i];
}
r = d % 100;
return r;
}
int main () {
long i , s = 0 , t , f=0 , j , r;
freopen ("cifra.in" , "r" , stdin);
freopen ("cifra.out" , "w" , stdout);
for (i = 1 ; i <= 100 ; i ++) {
s = (s + u (i)) % 100;
p [i] = s % 10;
}
scanf ("%ld\n" , &t);
for (i = 1 ; i <= t ; i ++) {
gets (n);
a [0] = 0;
f = strlen (n);
for (j = 0 ; j <f; j ++)
a [++a [0]] = n [j] - '0';
r = impartire (a , 100);
if (r == 0)
r = 100;
printf ("%ld\n" , p [r]);
}
return 0;
}