Pagini recente » Cod sursa (job #617161) | Cod sursa (job #6522) | Cod sursa (job #3168077) | Cod sursa (job #2474061) | Cod sursa (job #86120)
Cod sursa(job #86120)
#include <stdio.h>;
#include <string.h>;
char s[100];
int a[100];
int cif,T;
FILE *f=fopen("cifra.in","r");
FILE *g=fopen("cifra.out","w");
int main (void)
{
int x,i,j,n,c,l;
fscanf(f,"%d\n",&T);
for (x=1;x<=T;x++)
{
fgets(s,100,f);
s[strlen(s)-1]=NULL;
j=0;
for (i=strlen(s)-1;i>=0;i--)
a[i]=(s[i])-48;
n=strlen(s)-1;
cif=0;
l=n;
while (l>0)
{
c=1;
for (i=1;i<=a[n-1];i++)
{
c=c*a[n-1];
if (c>9)
c=c%10;
}
cif=(cif+c)%10;
if (a[n-1]>=1)
a[n-1]=a[n-1]-1;
else
{
if ((a[0]==0)&&(l==1))
l=l-1;
a[n-2]=10-a[n-2];
for (j=n-1;j>=0;j--)
{
a[j]=a[j]-1;
if (a[j]<0 )
a[j]=10+a[j];
}
l=l-1;
}
}
fprintf(g,"%d\n",cif);
fscanf(f,"\n" );
}
fclose(g);
return 0;
}