Pagini recente » Cod sursa (job #1340431) | Cod sursa (job #922192) | Cod sursa (job #1403574) | Statistici Ionut Alexandru Chitu (ionutch) | Cod sursa (job #1134079)
#include<stdio.h>
#include<string.h>
const int PMAX = 105;
int uc[PMAX + 10];
char n[PMAX + 10];
int lgPow (int n, int p) {
if(p == 0) return 1;
if(p % 2 == 1) return (n * lgPow(n, p - 1)) % 10;
int half = lgPow(n, p / 2);
return (half * half) % 10;
}
int main() {
FILE *in = fopen("cifra.in","r");
FILE *out = fopen("cifra.out","w");
int len, i, tc, u2c;
uc[0] = 0;
for(i = 1; i <= PMAX; ++ i)
uc[i] = (uc[i - 1] + lgPow(i, i)) % 10;
fscanf(in, "%d\n",&tc);
while(tc) {
-- tc;
fgets(n, PMAX, in);
len = strlen(n);
--len;
if(len > 1)
u2c = (n[len - 2] - '0') * 10 + n[len - 1] - '0';
else
u2c = n[len - 1] - '0';
fprintf(out, "%d\n",uc[u2c]);
}
return 0;
}