杭电1061

/*********************************
* 日期:2011-2-16
* 作者:(转载)
* 题号:杭电1061
* 题目:Rightmost Digit
* 结果:AC
* 思路:
1的n次方,各位依次为:1 1 1 1 1 1 1 1 ...
2的n次方,各位依次为:2 4 8 6 2 4 8 6 ...
3的n次方,各位依次为:3 9 7 1 3 9 7 1 ...

.....

0到9 每一个数的n次方结果的个位数都是按4循环的....

只要n%4,计算是第几个...就可以了

**********************************/

#include<iostream>
using namespace std;
int main()
{
int n,x,m;
cin>>n;
while(n)
{
n--;
cin>>x;
m=x%4;
if(m==0) m+=4;
x%=10;

int sum=1;
for(int i=1;i<=m;++i)
{
sum *= x;
}

cout<<sum%10<<endl;
}

return 0;
}


你可能感兴趣的:(杭电)