地址:http://acm.hdu.edu.cn/showproblem.php?pid=1060
题意:n的n次方最左边的数字是多少。
mark:还是取对数那招,log10(n^n)的小数部分决定了最左边的数字。
代码:
1 # include <stdio.h> 2 # include <math.h> 3 4 5 int calc(long long n) 6 { 7 double ans = n * log10(n) ; 8 ans -= (long long)ans ; 9 return (int)pow(10,ans) ; 10 } 11 12 13 int main () 14 { 15 int T, n ; 16 scanf("%d",&T); 17 while(T--) 18 { 19 scanf("%d",&n) ; 20 printf("%d\n",calc(n)) ; 21 } 22 return 0 ; 23 }