题解:
m=n^n;两边同取对数,得到,log10(m)=n*log10(n);再得到,m=10^(n*log10(n));
然后,对于10的整数次幂,第一位是1,所以,第一位数取决于n*log10(n)的小数部分
#include<stdio.h> #include<math.h> int main() { int _case; double n; scanf("%d",&_case); while(_case--) { scanf("%lf",&n); double m=n*log10(n); m-=(long long)m; int ans=pow(10.0,m); printf("%d ",ans); } return 0; }