Pagini recente » Cod sursa (job #3232968) | Cod sursa (job #3290891) | Cod sursa (job #394001) | Cod sursa (job #2814727) | Cod sursa (job #135951)
Cod sursa(job #135951)
#include <stdio.h>
#include <math.h>
int putere(int pn);
FILE* f;
FILE* s;
int t;
int v[9];
int n;
int m[10][10];
int main()
{
int i;
int j;
for (i=0;i<10;i++)
{
for (j=0;j<10;j++)
m[i][j]=(int)pow(i,j);
}
f=fopen ("cifra.in","r");
s=fopen ("cifra.out","w");
v[1]=1;
v[2]=4;
v[3]=4;
v[4]=2;
v[5]=1;
v[6]=1;
v[7]=4;
v[8]=4;
v[9]=2;
fscanf (f,"%d\n",&t);
for (i=0;i<t;i++)
{
fscanf (f,"%d\n",&n);
int suma=0;
for (j=1;j<=n;j++)
suma+=putere(j);
fprintf (s,"%d\n",suma%10);
}
fclose (f);
fclose (s);
return 0;
}
int putere(int pn)
{
int numar=pn;
int rezultat;
int ultima=numar%10;
int rest=numar%v[ultima];
if (ultima!=0)
if (rest!=0)
rezultat=(m[ultima][rest])%10;
else
rezultat=(m[ultima][v[ultima]])%10;
else
rezultat=0;
return rezultat;
}