hdu 1060 Leftmost Digit

题解:

  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\n",ans);

    }

    return 0;

}

 

 

 

你可能感兴趣的:(left)