Cod sursa(job #485108)
Utilizator | Data | 17 septembrie 2010 06:57:45 | |
---|---|---|---|
Problema | Cifra | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <cstdio>
#include <string.h>
int main ()
{
int magic[]={0, 1, 5, 2, 8, 3, 9, 2, 8, 7, 0, 1, 7, 0, 6, 1, 7, 4, 8, 7}, T, n, k;
FILE *in=fopen("cifra.in", "r"), *out=fopen("cifra.out", "w");
char nbr[101];
fscanf(in, "%d", &T);
while(T--)
{
fscanf(in, "%s", nbr);
n = strlen(nbr);
k=(n<=1?0:(nbr[n-2]-'0'));
fprintf(out, "%d\n", (k*7+magic[10*(k%2)+(nbr[n-1]-'0')])%10);
}
return 0;
}