求N^N第一位数字(数学)

 1 #include <iostream>
 2 #include <math.h>
 3 using namespace std;
 4 
 5 int main(void)
 6 {
 7     long long int digit;
 8     int n,m;
 9     cin>>m;
10     for(int i=0;i<m;i++){
11         cin>>n;
12         digit=(long long int)(n*log10(n))+1;//n^n的位数 这里是+1
13         int left=pow(10.0,(n*log10(n)-digit+1));//n^n/10^(digit-1)的结果就是最左边的数啦~
14         cout<<left<<endl;
15     }
16     return 0;
17 }
View Code
原文地址:https://www.cnblogs.com/Silence-AC/p/3319547.html