Pagini recente » Cod sursa (job #186743) | Profil EdgeLordXD | Cod sursa (job #356918) | Cod sursa (job #2461569) | Cod sursa (job #618097)
Cod sursa(job #618097)
#include <cstdio>
#define cat(c) while (c!='\n') fscanf(f,"%c",&c);
FILE *f,*g;
typedef int huge[110];
int r,sol[110];
char c='a';
huge v;
int t,i,s,cif,j;
void inline gen() {
s=0;
for (i=1;i<=100;i++) {
cif=1;
for (j=1;j<=i;j++)
cif=(cif*i)%10;
s=(s+cif) % 10;
sol[i]=s;
}
sol[0]=sol[100];
}
void inline inv() {
int j,ax;
for (j=1;j<=v[0]/2;j++) {
ax=v[j];
v[j]=v[v[0]-j+1];
v[v[0]-j+1]=ax;
}
}
int divide() {
if (v[0]>1)
return (v[v[0]-1]*10+v[v[0]]);
else
return (v[1]);
}
int main() {
f=fopen("cifra.in","r");
g=fopen("cifra.out","w");
gen();
fscanf(f,"%d",&t);
cat(c);
for (i=1;i<=t;i++) {
v[0]=0;
fscanf(f,"%c",&c);
while (c>='0' && c<='9') {
v[++v[0]]=c-'0';
fscanf(f,"%c",&c);
}
cat(c);
r=divide();
fprintf(g,"%d\n",sol[r]);
}
fclose(g);
return 0;
}