Cod sursa(job #549185)
Utilizator | Data | 8 martie 2011 11:01:49 | |
---|---|---|---|
Problema | Cifra | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.38 kb |
#include<stdio.h>
#include<string.h>
using namespace std;
FILE*in=fopen("cifra.in","r");
FILE*out=fopen("cifra.out","w");
int i,q,k,z,t,u;
char v[100];
int main()
{
fscanf(in,"%d",&t);
for(i=0;i<t;i++)
{
fscanf(in,"%s",&v);
if(strlen(v)==1)
u=1;
else
u=0;
z=strlen(v)-1;
k=v[strlen(v)-1]-48;
if(k==0)
q=0;
else
if(k==1)
q=1;
else
if(k==9)
q=7;
else
if(k==3)
if(strlen(v)-2%2==0)
q=0;
else
q=2;
else
if(k==4)
if(strlen(v)-2+u%2==0)
q=8;
else
q=6;
else
if(k==2)
if(strlen(v)-2+u%2==0)
q=5;
else
q=7;
else
if(k==5)
if(strlen(v)-2%2==0)
q=1;
else
q=3;
else
if(k==6)
if(strlen(v)-2+u%2==0)
q=9;
else
q=7;
else
if(k==7)
if(strlen(v)-2%2==0)
q=4;
else
q=2;
else
if(k==8)
q=8;
fprintf(out,"%d\n",(7*z+q)%10);
}
fclose(in);
fclose(out);
return 0;
}