证明 :http://blog.csdn.net/xuruoxin/article/details/8877862
#include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <stack>
#include <queue>
#include <cctype>
#include <cstdio>
#include <string>
#include <vector>
#include <climits>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#define LL long long
#define PI 3.1415926535897932626
using namespace std;
int gcd(int a, int b) {return a % b == 0 ? b : gcd(b, a % b);}
LL N,K;
LL pow_mod(LL a,LL b,LL m)
{
LL ans=1;
a%=m;
while (b)
{
if (b&1) ans=(ans*a)%m;
a=(a*a)%m;
b>>=1;
}
return ans;
}
int main()
{
int T;
scanf("%d",&T);
while (T--)
{
scanf("%lld%lld",&N,&K);
LL ans2=pow_mod(N,K,1000);
LL ans1=(LL)pow(10,2+fmod(K*log10((double)N),1));
printf("%lld...%03lld\n",ans1,ans2);
}
return 0;
}