N^N = a * 10^x
两边同时取对数
NlgN = lg(a*10^x)
NlgN = lga + x // NlgN 必定是小数, a 是大于0小于10 ,所以 lga 是大于0 小于1 的小数,x 必定是 NlgN 的整数部分,可以利用 x = floor(NlgN) 来算
lga = NlgN - x
a = 10^(NlgN - floor(NlgN))
Problem Description
Given a positive integer N, you should output the leftmost digit of N^N.
Input
The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case contains a single positive integer N(1<=N<=1,000,000,000).
Each test case contains a single positive integer N(1<=N<=1,000,000,000).
Output
For each test case, you should output the leftmost digit of N^N.
Sample Input
2 3 4
Sample Output
2 2HintIn the first case, 3 * 3 * 3 = 27, so the leftmost digit is 2. In the second case, 4 * 4 * 4 * 4 = 256, so the leftmost digit is 2.