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