Cod sursa(job #1665)
Utilizator | Data | 14 decembrie 2006 13:27:19 | |
---|---|---|---|
Problema | Cifra | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
#include<stdio.h>
#include<string.h>
FILE *f=fopen("cifra.in","r"),*g=fopen("cifra.out","w");
unsigned long rez[100];
int main()
{
unsigned long k=0,y,i,j;
int t;
char n[101];
for(i=1;i<=99;i++)
{
y=1;
for(j=1;j<=i;y*=i,y%=10,j++);
k+=y;
rez[i]=k%10;
k=k%10;
}
fscanf(f,"%d",&t);
for(i=1;i<=t;i++)
{
k=0;
fscanf(f,"%s",&n);
if(strlen(n)>=2)
k=(n[strlen(n)-2]-'0')*10+n[strlen(n)-1]-'0';
else
k=n[0]-'0';
fprintf(g,"%ld\n",rez[k]);
}
fclose(f);
fclose(g);
return 0;
}