Pagini recente » Cod sursa (job #669645) | Cod sursa (job #884318) | Cod sursa (job #2317378) | Cod sursa (job #1977165) | Cod sursa (job #86126)
Cod sursa(job #86126)
#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,q;
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);
cif=0;
l=n;
q=0;
while (q<n)
{
c=1;
for (i=1;i<=a[n-1];i++)
{
c=c*a[n-1];
if (c>9)
c=c%10;
}
if (a[q]>0)
cif=(cif+c)%10;
if (a[n-1]>=1)
a[n-1]=a[n-1]-1;
else
{
if ((a[q]==0)&&(l==1))
q++;
else
if (a[q]==0)
q++;
a[n-1]=a[n-1]-1;
for (j=n-1;j>=q;j--)
{
if (a[j]<0 )
{
a[j]=10+a[j];
a[j-1]=a[j-1]-1;
}
}
}
}
fprintf(g,"%d\n",cif);
fscanf(f,"\n" );
}
fclose(g);
return 0;
}