求n^n最左边的数
分析:
设n^n= d.xxx* 10^ (k-1) ,其中k表示n^n的位数。
那么d.xxx= 10^(log10(n^n)-(k-1)) ,再对d.xxx取整即可获得最终结果。那么k是多少呢?
k = log10(n^n)的整数部分+1 = (int)log10(n^n)+1;至此,可以获得d的计算公式为
d = (int)(10^(log10(n^n)-(int)log10(n^n));
#include
#include
using namespace std;
int main()
{
int N;
double x=0.0;
while(cin>>N)
{
x=N*log10((double)N);
x=x-(int)x;
x=(int)pow(10,x);
cout<
<