Pagini recente » Cod sursa (job #2945090) | Cod sursa (job #146230) | Cod sursa (job #2236408) | Cod sursa (job #681912) | Cod sursa (job #1842816)
#include <iostream>
#include <stdio.h>
using namespace std;
int c[10][4],d[10][3],n,j,i,x,p;
FILE *in , *out;
int read()
{
char a='a',b='a',c='0';
while(c>='0'&&c<='9')
{
a=b;
b=c;
c=fgetc(in);
}
if((a>='0'&&a<='9'))
{
return ((int)(a)-48)*10+((int)(b)-48);
}
else
return ((int)(b)-48);
}
int main()
{
in=fopen("cifra.in","r");
out=fopen("cifra.out","w");
for(i=0;i<10;i++)
{
c[i][0]=i;
int x=i;
for(j=1;j<4;j++)
{
c[i][j]=x*i%10;
x=c[i][j];
}
}
for(i=0;i<10;i++)
{
d[i][2]=c[i][(i-1)%4];
d[i][1]=c[i][(i+9)%4];
d[i][0]=(d[i][2]+d[i][1])%10;
}
fscanf(in,"%d",&n);
fgetc(in);
for(i=1;i<=n;i++)
{
x=read();
p=0;
for(int j=1;j<=9;j++)
{
p+=d[j][((x-j)/10)%2];
}
fprintf(out,"%d\n",p%10);
}
}