HDU 1060

//考察数学知识
//m=n^n,两边同取对数,m=10^nlgn,当为10的整数次幂时,整数均为1,所以要看小数。
//关键是这一句a=num*log10(num*1.0) - (__int64)(num*log10(num*1.0));a得到小数   注意这里要用__int64  用int是错误
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	int n;
	double b,a,num;
		cin>>n;
	   while(n--)
	   {
		   cin>>num;
          a=num*log10(num*1.0) - (__int64)(num*log10(num*1.0));
          b=pow((double)10,a);
		  cout<<(int)b<<endl;
	   }
	return 0;
}

你可能感兴趣的:(HDU 1060)