如果m和n都是整数,求m的n的次方(即m^n)的准确值。
Input
本题有多组输入数据。第一行是输入数据的组数T,每组数据占一行,为两个用空格隔开的整数m和n,1<=m<=100,0<=n<=100。
Output
对应每组数据,应输出一行,表示m^n的准确结果。
Sample Input
1
2 30
Sample Output
1073741824
Hint
可以考虑以下公式:
大正数乘法,跟N!方法一样
#include<iostream>
using namespace std;
int main()
{
int T,n,m,sum[10010],i,f,t,j;
scanf("%d",&T);
while(T--)
{
sum[0]=1;
cin>>n>>m;
for(t=0,i=0;i<=m;i++)
{
for(f=0,j=0;j<=t;j++)
{
sum[j]=sum[i]*n+f;
if(sum[j]>10000)
{
f=sum[j]/10000;
sum[j]=sum[j]%10000;
}
else f=0;
}
if(f!=0)
sum[++t]=f;
}
printf("%d",sum[t]);
for(i=t-1;i>=0;i--)
printf("%04d",sum[i]);
printf("\n");
}
}