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