Pagini recente » Cod sursa (job #2114328) | Cod sursa (job #201994) | Cod sursa (job #338514) | Cod sursa (job #2886031) | Cod sursa (job #643609)
Cod sursa(job #643609)
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
FILE *in,*out;
in=fopen("cifra.in","rt");
out=fopen("cifra.out","wt");
int cif[10][4];
int i,j,k,c=0,r=0,p;
char N[110];
for(i=0;i<10;i++)
{
cif[i][0]=i;
for(j=1;j<4;j++)
{
cif[i][j]=(cif[i][j-1]*i)%10;
}
}
fscanf(in,"%d",&j);
while(j)
{
r=0;
c=0;
fscanf(in,"%s",N);
p=strlen(N);
if(p>=2)
{
k=(N[p-2]-'0')*10+(N[p-1]-'0');
}
else
{
k=N[p-1]-'0';
}
while(k>20)
{
k=k-20;
c=c+4;
}
c=c%10;
for(i=1;i<=k;i++)
{
if(i%10==0)
{
r+=10;
}
if(i%4==0)
{
c=c+cif[i-r][3];
}
else
{
c=c+cif[i-r][i%4-1];
}
}
fprintf(out,"%d\n",c%10);
j--;
}
return 0;
}