Pagini recente » Cod sursa (job #1985309) | Cod sursa (job #2248267) | Cod sursa (job #1195297) | Cod sursa (job #3164287) | Cod sursa (job #2960540)
#include <iostream>
#include <string.h>
using namespace std;
int T;
char *ch_seq;
FILE *in = fopen("cifra.in", "r"), *out = fopen("cifra.out", "w");
int digits[105], nr_of_digits;
int dpows[10], N, result, lastd;
int main()
{
fscanf(in, "%d\n", &T);
char ch;
while(T--){
nr_of_digits = 0;
while(1){
ch = fgetc(in);
if (ch == EOF || ch == '\n')
break;
digits[nr_of_digits++] = ch - '0';
}
result = 0;
lastd = 1;
for (int i = 1; i <= 9; ++i)
dpows[i] = 1;
dpows[0] = 0;
N = (nr_of_digits > 1 ? digits[nr_of_digits-2] : 0) * 10 + digits[nr_of_digits-1];
while (N--) {
for (int i = 2; i <= 9; ++i)
dpows[i] = (dpows[i] * i) % 10;
result = (result + dpows[lastd]) % 10;
lastd = (lastd + 1) % 10;
}
fprintf(out, "%d\n", result);
}
fclose(in);
fclose(out);
return 0;
}