Cod sursa(job #552407)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 12 martie 2011 11:34:11
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
#include<string.h>
char s[102];
long t,i;
int m,n,r,j;
int put(int n)
{int x1=n%10,x2=(n*n)%10,t=n,i=0,v[100001],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;}

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