Leftmost Digit

#include <iostream>
#include <math.h>
int main()
{
    int t,i;
    while(~scanf("%d",&t))
    {
        for(i=0;i<t;i++)
        {
            long n;
            scanf("%ld",&n);
            double t=n*log10(n*1.0);
            t-=(__int64)t;
            int ans=pow(10.0,t);
            printf("%d\n",ans);        
        }
    }
    return 0;
}

所有数可以表示成科学计数法10^x = a.b * 10 ^ [x]

x的整数部分决定该数的位数,小数部分决定该数的系数. 所以 nlog10(n) 的小数部分t, 10^t = a.b 

posted @ 2013-09-19 15:34  Destino74  阅读(58)  评论(0编辑  收藏  举报