这道题也是一道求最后一个数字的,只是方式稍微改变了一下...
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int a,b; 6 int round=0; 7 int r[100]={0}; 8 int i=0; 9 while(cin>>a>>b) 10 { 11 r[1]=a%10; 12 r[2]=(a%10)*(a%10)%10;//这里是关键,开始是a*a%10,提交提示WA。 13 for(i=3;;i++) 14 { 15 r[i]=r[i-1]*(a%10)%10; 16 if(r[i]==r[1]) 17 {round=i-1;break;} 18 } 19 if(b%round==0) 20 cout<<r[round]<<endl; 21 else cout<<r[b%round]<<endl; 22 } 23 return 0; 24 }
HDOJ 1097 A hard puzzle,布布扣,bubuko.com
原文:http://www.cnblogs.com/kb342/p/3735060.html