Cod sursa(job #552546)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 12 martie 2011 15:52:47
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
#include<string.h>
char s[1001];
long t,i;
int m,n,v[101];
int put(int n)
{int x1=n,x2=n*n,t=n,i=0,v[1001],j;
while(t!=0)
       {v[i++]=t%2;
       t/=2;}
for(j=i-2;j>=0;j--)
if(v[j]==0)
       {x2=(x1*x2)%10;
       x1=(x1*x1)%10;}
else
       {x1=(x1*x2)%10;
       x2=(x2*x2)%10;}
return x1%10;}

void vect(int v[101])
{int i;
v[0]=0;
for(i=1;i<=100;i++)
       v[i]=(v[i-1]+put(i))%10;}

int main()
{freopen("cifra.in","r",stdin);
freopen("cifra.out","w",stdout);
scanf("%ld\n",&t);
vect(v);
for(i=1;i<=t;i++)
       {scanf("%s\n",s);
       m=strlen(s);
       n=(s[m-2]-'0')*10+(s[m-1]-'0');
       printf("%d\n",v[n]);}
fclose(stdin);
fclose(stdout);
return 0;}