HDU ACM 1061 Rightmost Digit

1、每次计算只要取最后一位即可。

2、使用快速幂提高效率。


#include<iostream>   
using namespace std;

int pow(int a,int n)
{
	if(n==1)
		return a;
	else if(n%2==1)
		return (a*pow(a,n-1))%10;
	else
	{
		int tmp;

		tmp=pow(a,n>>1);
		return (tmp*tmp)%10;
	}
}

int main()  
{ 
	int T,n;

	cin>>T;
	while(T--)
	{
		cin>>n;
		cout<<pow(n%10,n)<<endl;
	}
    return 0;  
}



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。