Pagini recente » Cod sursa (job #173206) | Cod sursa (job #1690943) | Cod sursa (job #1131245) | Cod sursa (job #224716) | Cod sursa (job #285853)
Cod sursa(job #285853)
#include <stdio.h>
#define IN "cifra.in"
#define OUT "cifra.out"
#define max 128
FILE *fin=fopen(IN,"r");
FILE *fout=fopen(OUT,"w");
int m[max];
int n,t;
void preprocesare();
inline int calcul(int);
inline int ultcifra(int,int);
int main()
{
preprocesare();
fscanf(fin,"%d",&t);
while(t)
{
--t;
fscanf(fin,"%d",&n);
fprintf(fout,"%d\n",calcul(n));
}
fclose(fin);
fclose(fout);
return 0;
}
inline int calcul(int val)
{
int r=val%100;
int c=val/100;
return (m[r]+c*m[100])%10;
}
void preprocesare()
{
int i;
m[1]=1;
for(i=1;i<=100;i++)
m[i]=m[i-1]+ultcifra(i%10,i%4);
}
inline int ultcifra(int val,int p)
{
int i,r=1;
if(p==0)
p=4;
for(i=1;i<=p;i++)
r*=val;
return r%10;
}