/*
对数的性质,loga(b^c)=c*loga(b),loga(b*c)=loga(b)+loga(c);
假设给出一个数10234432,那么log10(10234432)=log10(1.0234432*10^7)=log10(1.0234432)+7;
log10(1.0234432)就是log10(10234432)的小数部分.
log10(1.0234432)=0.010063744
10^0.010063744=1.023443198
那么要取几位就很明显了
*/
#include <stdio.h>
#include <math.h>
int T;
int main()
{
scanf("%d",&T);
while(T--)
{
int num;
scanf("%d",&num);
double temp=num*log(num)/log(10);
double res=temp-floor(temp);//floor自行体会
int ans=(int)floor(pow(10,res));
printf("%d\n",ans);
}
return 0;
}
hdu 1060 Leftmost Digit
最新推荐文章于 2019-09-04 18:51:44 发布