Pagini recente » Cod sursa (job #2946451) | Cod sursa (job #2770344) | Cod sursa (job #2931984) | Cod sursa (job #2972555) | Cod sursa (job #445989)
Cod sursa(job #445989)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main()
{
int n,i,j;
int c[10][10];
int cont[10];
for (i=0;i<10;i++)
{
cont[i]=0;
for (j=0;j<10;j++)
c[i][j]=0;
}
cont[0]=1;
for (i=1;i<10;i++)
{
int r=1;
int gata=0;
while(!gata)
{
r*=i;
r%=10;
for (j=0;j<=cont[i];j++)
if(r==c[i][j])
{
gata=1;
break;
}
if (gata==1)
break;
c[i][cont[i]]=r;
cont[i]++;
}
}
int aux[4];
for (i=1;i<10;i++)
{
for (j=0;j<cont[i]-1;j++)
aux[j+1]=c[i][j];
aux[0]=c[i][cont[i]-1];
for (j=0;j<cont[i];j++)
c[i][j]=aux[j];
}
int rez=0,nn,p,t;
FILE *in=fopen("cifra.in","r");
FILE *out=fopen("cifra.out","w");
fscanf(in,"%d",&t);
char nr[101];
char cc[3];
int cifra[100];
cifra[00]=0;
int u;
for (u=1;u<100;u++)
{
rez=0;
for (i=1;i<=u;i++)
{
nn=i%10;
p=i%(cont[nn]);
if (nn>0)
rez+=c[nn][p];
}
rez%=10;
cifra[u]=rez;
printf("cifra[%d]=%d\n\n",u,rez);
}
while(t>0)
{
fscanf(in,"%s",nr);
if (strlen(nr)<=2)
n=atoi(nr);
else
{
strncpy(cc,nr+strlen(nr)-2,2);
cc[2]='\0';
n=atoi(cc);
}
fprintf(out,"%d \n",cifra[n]);
t--;
}
return 0;
}