杭电1061题
//求N^N的个位数
//思路:只计算个位数的乘积,个位数最后形成一个循环
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
int num;
cin>>num;
for(int i=0;i<num;i++)
{
vector<int> digit;
int int_data;
string data;
cin>>data;
//利用string类型获得输入的个位数字
int right_digit = data[data.size ()-1]-'0';
//将string类型转化为int类型
int_data = atoi(data.c_str ());
digit.push_back (right_digit);
int sum = right_digit;
for(int j=0;j<int_data;j++)
{
sum *= right_digit;
if(sum%10==digit[0])
break;
digit.push_back (sum%10);
}
int m = int_data % digit.size ();
if(m == 0)
cout<<digit[digit.size ()-1]<<endl;
else
cout<<digit[m-1]<<endl;
}
return 0;
}