水題,注意等於0的情況。
#include<iostream>
using namespace std;
int main()
{
int a[10][10] = {0};
int b[10] = {0};
for(int i = 1 ; i < 10 ; i++)
{
int tmp = i;
a[i][1] = tmp;
b[i] = 1;
int* p = &a[i][2];
while(tmp=(tmp*i)%10,tmp!=i)
{
*p = tmp;
p++;
b[i]++;
}
}
int t,n,tmp_;
cin >> t;
while(t--)
{
cin >> n;
if(n == 0)
{
cout << 1 <<endl;
continue;
}
tmp_ = n % 10;
if(tmp_ == 0)
{
cout << 0 <<endl;
continue;
}
n = n % b[tmp_] ;
if(n == 0)
cout << a[tmp_][b[tmp_]] <<endl;
else
cout<< a[tmp_][n] <<endl;
}
return 0;
}