Moderator: Board moderators
89762189721154078504117545351837972799414006058900
46328348474947111121683585242921341680071269527347
31138733670953297257902064864620098214836159891771
83682586533502351448054917906401463655436160031888
80266228272859746231675378939757365731355870072734
57877387351815771847886863464333778126118820201428
30572606006261629550098990519140091317219098064753
30295026976940778299614225626424594046819247212283
38927084980140140325534872360459046228911029496600
39693271478251874369067809163690608419609752663258
39619632913263869535719748471326786705111458632493
79132050032400774536909876203149667547411318949834
28509148212608663632614279769615715450184957245439
63905302343360516508603439034775654757949276490302
06006244458977942121667208794317734938832132956327
08346758297235913776397298658762247648644018139157
88547027545359955071822316663286258609509802145478
76621279299368887060213467839065698575048547287348
16667580451677444586782714006278894986365709526529
76954515631464942774381565404303159609059098963691
0



#include<stdio.h>
#include<string.h>
#define mem(a,b) memset((a),(b),sizeof(a))
#define MAX 1000
char in1[MAX];
int pcal[9][5];
int len1;
void ini()
{
mem(pcal,0);
pcal[1][0]=1;pcal[1][1]=1;
pcal[2][0]=4;pcal[2][1]=2,pcal[2][2]=4,pcal[2][3]=8,pcal[2][4]=6;
pcal[3][0]=4;pcal[3][1]=3,pcal[3][2]=9,pcal[3][3]=7,pcal[3][4]=1;
pcal[4][0]=2;pcal[4][1]=4,pcal[4][2]=6;
pcal[5][0]=1;pcal[5][1]=5;
pcal[6][0]=1;pcal[6][1]=6;
pcal[7][0]=4;pcal[7][1]=7,pcal[7][2]=9,pcal[7][3]=3,pcal[7][4]=1;
pcal[8][0]=4;pcal[8][1]=8,pcal[8][2]=4,pcal[8][3]=2,pcal[8][4]=6;
pcal[9][0]=2;pcal[9][1]=9,pcal[9][2]=1;
}
int last_digit(int m,int n)
{
int index;
if(n==0 || m==0)
return 0;
else
{
index=n%pcal[m][0];
if(index==0)
index=pcal[m][0];
return pcal[m][index];
}
}
int main()
{
int c,d,a,b,res,i,tmp;
//freopen("10162.in","r",stdin);
//freopen("10162.out","w",stdout);
ini();
while(1)
{
scanf("%s",in1);
len1=strlen(in1);
if(len1==1 && in1[0]=='0')
break;
if(len1==1)
b=in1[len1-1]-'0';
else if(len1==2)
b=(in1[len1-2]-'0')*10+(in1[len1-1]-'0');
else
b=(in1[len1-3]-'0')*100+(in1[len1-2]-'0')*10+(in1[len1-1]-'0');
if(len1==1)
a=(in1[0]-'0');
else
a=(in1[0]-'0')*10+(in1[1]-'0');
a=a/100;
c=d=0;
for(i=0;i<=a;i++)
{
tmp=last_digit(i%10,i);
c+=tmp;
}
for(i=0;i<=b;i++)
{
tmp=last_digit(i%10,i);
d+=tmp;
}
res=((c*a)%10+d)%10;
printf("%d\n",res);
}
return 0;
}
Users browsing this forum: Bing [Bot], Google [Bot] and 1 guest