t=n^n
log10(t)=nlog(n)
t=10^(nlog(n));
因为10的整数次幂的最左边一位总为1,所以,只需要求nlog(n)的小数位就可以了。。
#include"stdio.h"
#include"string.h"
#include"math.h"
int main()
{
int T;
int n;
__int64 tt;
double t;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
t=n*log10((double)n);
tt=(__int64)t;//整数部分
t=t-tt;//小数部分
tt=(__int64)pow(double(10),t);
//10的零点几次方一定小于10
printf("%d\n",tt);
}
return 0;
}