Pagini recente » Cod sursa (job #121595) | Cod sursa (job #2159364) | Cod sursa (job #729897) | Cod sursa (job #1489055) | Cod sursa (job #969263)
Cod sursa(job #969263)
#include <cstdio>
#include <stdlib.h>
using namespace std;
int T,i,cifra,k;
char *v = (char*) calloc (103,sizeof(char));
char x;
int main(){
freopen("cifra.in", "r", stdin);
freopen("cifra.out", "w", stdout);
scanf ("%d", &T);
scanf ("%c", &x);
while (T>0){
cifra=0;
scanf ("%c", &v[0]);
i=1;
while (v[i-1]!='\n'){
scanf("%c", &v[i]);
i++;
}
i=i-2;
if (i==0){
while (v[i]!=0){
switch (v[i]){
case '1': cifra=cifra+1; break;
case '2': cifra=cifra+4; break;
case '3': cifra=cifra+7; break;
case '4': cifra=cifra+6; break;
case '5': cifra=cifra+5; break;
case '6': cifra=cifra+6; break;
case '7': cifra=cifra+3; break;
case '8': cifra=cifra+6; break;
case '9': cifra=cifra+9; break;
}
v[i]--;
}
}
else {
switch (v[i-1]){
case '1': cifra=7; break;
case '2': cifra=4; break;
case '3': cifra=1; break;
case '4': cifra=8; break;
case '5': cifra=5; break;
case '6': cifra=2; break;
case '7': cifra=9; break;
case '8': cifra=6; break;
case '9': cifra=3; break;
case '0': cifra=0; break;
}
if (v[i-1]%2==0){
while (v[i]!=0){
switch (v[i]){
case '1': cifra=cifra+1; break;
case '2': cifra=cifra+4; break;
case '3': cifra=cifra+7; break;
case '4': cifra=cifra+6; break;
case '5': cifra=cifra+5; break;
case '6': cifra=cifra+6; break;
case '7': cifra=cifra+3; break;
case '8': cifra=cifra+6; break;
case '9': cifra=cifra+9; break;
}
v[i]--;
}
}
else {
while (v[i]!=0) {
switch (v[i]){
case '1': cifra=cifra+1; break;
case '2': cifra=cifra+6; break;
case '3': cifra=cifra+3; break;
case '4': cifra=cifra+6; break;
case '5': cifra=cifra+5; break;
case '6': cifra=cifra+6; break;
case '7': cifra=cifra+7; break;
case '8': cifra=cifra+4; break;
case '9': cifra=cifra+9; break;
}
v[i]--;
}
}
}
printf ("%d", cifra%10);
printf ("\n");
T--;
}
return 0;
}