Pagini recente » Cod sursa (job #1647892) | Cod sursa (job #130052) | Cod sursa (job #1198366) | Cod sursa (job #1722018) | Cod sursa (job #114596)
Cod sursa(job #114596)
#include<stdio.h>
int intreg(char a)
{
switch (a)
{
case '0':return 0;break;
case '1':return 1;break;
case '2':return 2;break;
case '3':return 3;break;
case '4':return 4;break;
case '5':return 5;break;
case '6':return 6;break;
case '7':return 7;break;
case '8':return 8;break;
case '9':return 9;break;
}
return 0;
}
char caracter(int a)
{
switch (a)
{
case 0:return '0';break;
case 1:return '1';break;
case 2:return '2';break;
case 3:return '3';break;
case 4:return '4';break;
case 5:return '5';break;
case 6:return '6';break;
case 7:return '7';break;
case 8:return '8';break;
case -1:return '-1';break;
}
return 0;
}
int main()
{
FILE *fin,*fout;
fin= fopen ("cifra.in","r");
fout= fopen ("cifra.out","w");
char *a;
int t,v[100],i;
for (i=0;i<=99;i++) v[i]=-1;
fscanf(fin,"%d",&t);
int s,n,k;
int m,p,r;
for (i=1;i<=t;i++)
{
fscanf (fin,"%s",a);
s=0;
for (int j=1;;j++) if (a[j]=='\0')
{
n=j-1;
break;
}
if (n==0) r=intreg(a[n]);
else r=intreg(a[n-1])*10+intreg(a[n]);
if (v[r]>=0) fprintf (fout,"%d\n",v[r]);
else
{
for (k=1;k<=r;k++)
{
p=1;
for (m=1;m<=k;m++) p=(p*k)%10;
s=(s+p)%10;
}
v[r]=s;
fprintf (fout,"%d\n",s);
}
}
return 0;
}