小明解密码

小明解密码

题目大意

有t个密码门,每个密码门上面有两个数n,m,而密码为n^m次方的值。
求每个密码门的密码。

输入样例

2
3 4
4 5

输出样例

1
4

数据范围

对于30%的数据,1≤t≤20,1≤n,m≤8
对于100%的数据,1≤t≤1000,1≤n,m≤10^10

思路

这道题就是用快速幂,就可以了。

代码

#include
#include
#include
using namespace std;
int t,n,m;
void qsm()//快速幂
{
	n%=10;
	int sum=1;
	while (m)
	{
		if (m%2==1) sum=sum*n%10;
		n=n*n%10;
		m>>=1;
	}
	printf("%d\n",sum);//输出
}
int main()
{
	//freopen("a.in","r",stdin);
	//freopen("a.out","w",stdout); 
	scanf("%d",&t);//读入
	for (int i=1;i<=t;i++)
	{
		scanf("%d%d",&n,&m);//读入
		qsm();//快速幂
	}
	//fclose(stdin); 
	//fclose(stdout);
	return 0;
}

你可能感兴趣的:(#,模拟,纪中题目,模拟,纪中题目)