Pagini recente » Cod sursa (job #2574412) | Cod sursa (job #40322) | Cod sursa (job #57765) | Cod sursa (job #839030) | Cod sursa (job #45343)
Cod sursa(job #45343)
#include<stdio.h>
//#include<math.h>
#include<string.h>
int pow (int a,int b)
{
int s=1;
for (int i=1;i<=b;s*=a,++i);
return s;
}
int uc(int a,int ex)
{
a%=10;
//ex%=10;
if (ex%4==0)
return pow(a,4)%10;
ex%=4;
return pow(a,ex)%10;
}
int main()
{
char m[120];
FILE *in=fopen("cifra.in","r"),*out=fopen("cifra.out","w");
int n,s,t,j,c;
fscanf(in,"%d",&t);
for (int i=0;i<t;++i)
{
//printf("---Testul %d-----\n",i+1);
s=0;
fscanf(in,"%s",m);
//printf("M este %s\n",m);
if (strlen(m)>=2) n=(m[strlen(m)-2]-'0')*10+(m[strlen(m)-1]-'0');
else n=m[0]-'0';
printf("Ultimele 2 cifre = %d \n",n);
//n%=100;
c=n/20;
s+=c*4;
//uc=n%20;
for (j=1;j<=n%20;++j)
{
//printf("Uc pentru %d este %d\n",j,uc(j,j));
s+=uc(j,j);
}
printf("Suma este %d\n",s);
fprintf(out,"%d\n",s%10);
}
return 0;
}