這道題其實挺簡單的,因為只看最後一位,所以就討論最後一位的情況就可以了。而最後一位顯然是有周期性的。
#include#include #include #include #include using namespace std; int main() { int a,b,mode[12]; while(scanf("%d%d",&a,&b)!=EOF) { memset(mode,0,sizeof(mode)); a=a%10;//這裡要注意 mode[1]=a; int cnt=1,t=a; while(true) { t=t*a%10; if(t==a) break; cnt++; mode[cnt]=t; } mode[0]=mode[cnt]; printf("%d\n",mode[b%cnt]); } return 0; }